Good afternoon all,

In our Kafka clusters we have a need to know when certain activities are
performed, mainly topics being created, but brokers coming up/down is also
useful. This would be akin to what ActiveMQ does via advisory messages (
https://activemq.apache.org/advisory-message).

Since there did not appear to be anything in the ecosystem currently, I
wrote a standalone Java program that watches the various ZooKeeper
locations that the Kafka broker writes to and deltas can tell us
topic/broker actions etc... and writes to a kafka topic for downstream
consumption.

Ideally, we would rather have the broker handle this internally rather
than yet another service stood up in our systems. I began digging through
the broker source (my Scala is basically hello world level) and there does
not appear to be any mechanism in which this could be easily patched into
the broker.

Specifically, a producer or consumer acting upon an nonexistent topic or a
manual CreateTopic would trigger a Produce to this advisory topic and the
KafkaApis framework would handle it like any other request. However, by the
time we are inside the getTopicMetadata call there doesn't seem to be a
clean way to fire off another message that would make its way through
KafkaApis. Perhaps another XManager type object is required?

Looking for alternative ideas or guidance (or I missed something in the
broker).

Thank you.

Knowles

Reply via email to