You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pulsar.apache.org by Arvin Yao <ar...@gmail.com> on 2017/08/28 13:57:50 UTC
Pulsar namespace&topic relative
Hello,
I’m new to Pulsar and try to understand its running principle. I think I’m familiar the basic concept in Pulsar but confused with the whole running process. I know the message belongs to one topic will be sent to the corresponding topic, Now I wonder to know how Pulsar create a topic and its namespace before that. I search the Pulsar code, and found NamespaceService and found it’s responsible for namespace manage and found PersistentTopic which is responsible for topic manage. I found Namespace has registerBootstrapNamespaces method to register bootstrap namespaces, is the heartbeat and other information implemented using Pulsar namespace and is there some specific design document? If I send message to a new topic, how Pulsar create namespace and topic? Now I’m lost in finding connections with different class to understand the process, how can I accelerate this work? by step into the call stack when broker run or other?
Re: Pulsar namespace&topic relative
Posted by Rajan Dhabalia <rd...@apache.org>.
>> I know the message belongs to one topic will be sent to the
corresponding topic, Now I wonder to know how Pulsar create a topic and
its namespace before that.
Namespace: You can create multiple namespaces under a property using
Admin-API/CLI-tool
<https://pulsar.incubator.apache.org/docs/latest/admin-api/namespaces/#create>
.
eg: Following cli-command creates a namespace "namespace-1" under property
"test-property".
$ *pulsar-admin* namespaces create
test-property/test-cluster/namespace-1
Once you have namespace, you can create any number of topics under that
namespace.
*You don't have to explicitly create the topic under the namespace but
attempting to write or receive message on a topic that does not yet exist,
Pulsar will automatically create that topic under the namespace.*
So, as soon as you try to create producer/consumer on the topic for very
first time, broker creates a persistent-topic dynamically if it's not
created yet.
>>> Pulsar namespace and is there some specific design document? If I send
message to a new topic, how Pulsar create namespace and topic?
Yes, we have documented it partially at Getting-started
<https://pulsar.incubator.apache.org/docs/latest/getting-started/ConceptsAndArchitecture/#topics>
and cluster-setup
<https://pulsar.incubator.apache.org/docs/latest/getting-started/LocalCluster/#Testingyourclustersetup-9m81k>
but, we will add more description on it by next release
<https://github.com/apache/incubator-pulsar/pull/719/files>.
Thanks,
Rajan
On Mon, Aug 28, 2017 at 6:57 AM, Arvin Yao <ar...@gmail.com> wrote:
> Hello,
> I’m new to Pulsar and try to understand its running principle. I
> think I’m familiar the basic concept in Pulsar but confused with the whole
> running process. I know the message belongs to one topic will be sent to
> the corresponding topic, Now I wonder to know how Pulsar create a topic
> and its namespace before that. I search the Pulsar code, and found
> NamespaceService and found it’s responsible for namespace manage and found
> PersistentTopic which is responsible for topic manage. I found Namespace
> has registerBootstrapNamespaces method to register bootstrap namespaces, is
> the heartbeat and other information implemented using Pulsar namespace and
> is there some specific design document? If I send message to a new topic,
> how Pulsar create namespace and topic? Now I’m lost in finding connections
> with different class to understand the process, how can I accelerate this
> work? by step into the call stack when broker run or other?