We’ve recorded and released an important episode on Kafka and RabbitMQ.
While I am polishing the next post with an event sourcing design doc, there’s tons of positive feedback for the released recording, so a few pieces from it are worth sharing.
An intro to Kafka as the product, in five minutes.
An intro to RabbitMQ and Erlang, all under ten minutes.
Why append-only queues are always faster than DB transactions, in two minutes.
How Kafka consumers works, leveraging consumer groups in two ways, ten minutes.
The last three of them is me following Kafka: The Definitive Guide, chapter four.
Using heartbeats to re-create total order from partial order, three minutes.
Heartbeats are just persisted keepalive messages that contain wall clock timestamps, and partial order, unfortunately, emerges naturally when a Kafka topic has multiple partitions, or when multiple Kafka topics are used.
Hope you find this useful. We release new episodes every ~1.5 months, and for each recorded one there’s an unofficial event or two in between. Join us on Slack for more!
Can we use locally generated timestamps and store them with messages instead of heartbeats?