Skip to main content
1 of 2

Is Kafka an event bus or a publisher subscriber (pubsub)pattern?

Building on this answer here, and its comments it entails that subscribers need to know and locate the publishers in a traditional pub/sub system. It also entails that publishers need to live at least as long as the consumers.

One of the most widely known pub/sub systems today is Kafka. However, in the case of Kafka, we have a broker, which means that it isn't a pub/sub in the above regard, but rather, an event bus (or both?) as subscribers don't need to know about publishers. Also, in the case of Kafka, it behaves as an event bus since the lifetime of a publisher is independent of the lifetime of a subscriber.

I am guessing here that since Kafka also implements ordering (i.e. commit log is sequential) it makes it a hybrid of a queue, pub/sub and an event bus patterns. Is that a correct statement?