Tag Archives: Event-Driven Architecture

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 »

What is the difference between synchronous and asynchronous communication?

And will adding the async keyword to my .NET api make it asynchronous? No not in the sense of asynchronous architecture. let me explain. A Restaurant Analogy Let’s take a real-life example of a restaurant. And at this restaurant customers need to go to the counter to get served. In the first example, the server has NOT been… 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 »

What is Orchestration and how to implement orchestration in an event-driven system?

There is also a YouTube version of this post. I have linked to the video at the bottom of this post. Outline In this blog post, I’m going to be explaining.  What orchestration is Seven key points, where I will also be explaining one key difference when using orchestration in a asynchronous event-driven system compared to a synchronous… Read More »

How to prevent message loss when publishing events

Three techniques to prevent message loss One – Publish events synchronously the first technique you can take to prevent data loss. It is always to publish events synchronously, so you have to wait for the messaging platform to acknowledge that the message has been successfully published and persisted in the topic.  Do not publish events asynchronously. You do… Read More »