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 »
The write-aside pattern: How to FAIL at event driven microservices
What is the event publishing approach called write-aside, and why do you need to be careful when using it. First, what is write-aside?It is when a processor of a request or an event performs its main operation, like updating records in a database, and then afterwards publishes the occurred event to an event platform. Now because the two… 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 »
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 »
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 »