Category Archives: Event Driven Architecture

Overview of Communication Patterns: Event-Driven, Message-Driven and Request-Driven

Dive deep into the intricate world of communication patterns in system architecture. Explore the strengths and trade-offs of request-driven, message-driven, and event-driven models, and how they shape the interaction, scalability, and resilience of modern applications. Unravel the complexities and operational dynamics that can make or break your system’s architecture.

When to use AWS SQS: Strategically Selecting the Optimal Messaging Solution (Strategic Decision-Making: Part 2)

AWS Simple Queue Service (SQS) is a cornerstone in cloud computing, providing robust solutions for messaging and queuing challenges. This post takes a deep dive into the realms where SQS excels, from order processing systems to distributed transaction processing. However, understanding when to pivot towards alternatives like SNS, Kinesis, or Kafka is just as crucial. Uncover the scenarios where SQS is the optimal choice and the circumstances that call for a different strategy.

Part 1: Strategic Decision-Making: Understanding AWS Suite Of Messaging/Event Services

Understanding the diverse landscape of AWS Messaging Services is essential for architecting robust, scalable, and efficient cloud solutions. AWS offers a suite of messaging services, each designed with unique features and collaboration patterns to cater to specific architectural needs. From SQS’s reliable message queuing and SNS’s dynamic pub/sub messaging to Kinesis’s real-time data streaming and MSK’s high-throughput message handling, the choice of service can profoundly impact your system’s performance, reliability, and scalability. Whether it’s decoupling components with SQS, broadcasting notifications with SNS, processing vast data streams with Kinesis, or handling high-volume events with MSK, understanding these services’ capabilities and use cases is crucial for making informed and strategic architectural decisions.

Centralised Orchestration vs Decentralised Choreography in Event-Driven Serverless Systems

In this article, I will share my thoughts on using centralised versus decentralised orchestration when building event-driven serverless systems. I have over 15 years of experience in designing and developing distributed event-driven systems. I have spent years migrating from monolithic systems to microservices and now to serverless-powered systems. Event-driven architecture can help build highly loosely coupled, fault-tolerant, scalable,… Read More »

What is event driven? The five types of event-driven architecture

Event-driven architecture is an approach to software design that relies on events to trigger actions. There are five primary patterns of event-driven architecture, including event-notification, event-carried state transfer, CQRS (Command Query Responsibility Segregation), event-sourcing, and event-streaming.
In the article I will describe what they are and the difference between Event-Streaming and Event-Sourcing

Can you combine request-driven and event-driven architecture together?

The answer is yes. You can combine the two. Let’s look at two possible solutions. FYI, I am basing the solution on a question I received on one of my videos https://youtu.be/U-U3bpljZd0. The question was: Possible Solution Key architecture design decisions for my approach Before we go through the two approaches, let me share my architectural design decisions.… Read More »