Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Role

ZooKeeper Path

Type

Data Description

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="576387e683e34422-b8d89315-49f548cf-9a099db1-e8c671e2a12f4760ed4d66f9"><ac:plain-text-body><![CDATA[

ID Registry

/brokers/ids/[0..N]

Ephemeral

String in the format of "creator:host:port" of the broker.

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="b4b3aba05debeceb-c516f3b5-44794e4c-8fb6a732-f7f0eb8c96225b24e169a12e"><ac:plain-text-body><![CDATA[

Topic Registry

/brokers/topics/[topic]/[0..N]

Ephemeral

Number of partitions that topic has on that Broker.

]]></ac:plain-text-body></ac:structured-macro>

...

Wiki Markup
The solution is that for new topics where the number of available partitions on the Broker is unknown, you should just send to partition 0. Every Broker will at least have that one partition available. As soon as you write it and the topic comes into existence on the Broker, the Broker will publish all available partitions in ZooKeeper. You'll get notified by the watch you put on {{/brokers/topics/\[topic\]}}, and you'll add the new Broker+Partitions to your destination pool.

Consumer

This is where all the heavy lifting happensFIXME: Go over all the registration stuff that needs to happen.

Rebalancing

Occurs: When Brokers or Consumers enter or leave the pool.

...