How to ensure events are processed in order when retrying events out of sequence (when using event platforms like Apache Kafka)

In the post, How to handle retry messages and failures when using event streaming platforms like Apache Kafka, I walked through how to retry events when using Apache Kafka.  Now in this post, I will discuss an approach you can implement to ensure processors process events in order even when you’ve implemented a retry solution.  YouTube video After… Read More »

The Outbox Pattern: The guaranteed event publishing pattern

What is the outbox pattern? It is when a request or the event processor performs its database transaction operation but does not publish the occurred event afterwards. Instead, during the database transaction, a record or multiple records are inserted into a dedicated database table, the outbox table, which holds the records which you want to publish to a… Read More »

AWS ReInvent: API Design takeaway

Following AWS Reinvent 2021 I’d like to share some of the golden nuggets I have taken away from the keynote regarding #apis ⁃ Primitives not frameworks (don’t build the kitchen sink, build small components) ⁃ Join small components to build larger complex systems ⁃ #APIs enable customer-centric innovation ⁃ Trying to create uniform APIs before you understand the… Read More »

Message Brokers VS Event Brokers: Choosing the right message broker for an Event-Driven System (Apache Kafka vs RabbitMQ)

Intro So you have learned (see my prevoius posts/videos) about the pros and cons of event-driven architecture, and you are still are looking to start your journey by either incrementally strangling an existing system or using EDA for a greenfield project. In this post, I will introduce you to the concept of a broker and run you through… Read More »