Category Archives: Event Driven Architecture

Part 2: Sagas, Fan-In, and Correlation: Solving the Hard Problems of Eventual Consistency in EDA

Choosing event-driven architecture means choosing eventual consistency. The only question is how well you manage it. When payment succeeds but inventory reservation fails, do you refund automatically or let a customer stare at a half-completed order? This guide covers Saga compensation patterns, the callback topic debate (and why it’s really async RPC over event infrastructure), fan-out vs fan-in complexity, and three concrete approaches to multi-topic correlation — with production code in Python, Java, and AWS.

Before You Adopt Event-Driven Architecture: Prerequisites, Red Flags, and Partition Strategy

Most teams adopting event-driven architecture never stop to understand what it actually involves. Before committing to the operational overhead that transforms a three-component system into fifteen, verify you actually have the problems EDA exists to solve. This guide provides a decision framework, prerequisites checklist, and a deep dive into partition strategy — the most consequential design decision you’ll make in EDA.

Avoid Common Pitfalls: Expert Tips for Effective Event-Driven Architecture

Discover the essential lessons I’ve learned from my experiences with Event-Driven Architecture (EDA). This blog post covers key considerations, best practices, and real-world scenarios to help you design robust and scalable event-driven systems. Whether you’re a seasoned developer or just starting out, this post is packed with valuable insights to guide your EDA journey. Dive in now and future-proof your architecture!

Kafka vs EventBridge: Key Differences for Event-Driven Architecture

Understanding the pivotal differences between Apache Kafka and Amazon EventBridge is crucial for architects and developers alike. This guide contrasts Kafka’s excellence in high-volume event streaming against EventBridge’s serverless efficiency and easy integration. By dissecting their features, scalability, and use cases, we provide clarity on choosing the right tool for your event-driven solutions. Whether it’s Kafka’s durable event storage or EventBridge’s advanced routing capabilities, find out which platform offers the most value to your project’s needs.

The Art of Kafka Event Sequencing: Strategies for Multi-Topic Consumption

Explore the complexities of managing event sequences in Kafka across multiple topics. This article delves into three advanced strategies designed for developers and architects: leveraging datastores for temporal event correlation, utilising Kafka Streams for real-time processing, and aggregating events at the source. Discover how these approaches can help you overcome Kafka’s ordering constraints, ensuring seamless, error-free operations in your event-driven architectures.

An introduction to Apache Kafka & Amazon MSK (Managed Kafka Service)

Explore the fundamentals of Apache Kafka and Amazon MSK, the cutting-edge solutions for real-time data streaming and processing. Designed for developers and architects, this guide introduces you to the high-throughput, low-latency capabilities of Kafka and the ease of management provided by Amazon MSK. Learn about Kafka’s publisher-subscriber model, efficient data handling, and the seamless integration with AWS services. Discover how these technologies facilitate robust, scalable communication between data producers and consumers, ensuring high availability, security, and seamless data flow across distributed systems.

Amazon Kinesis: Part 1 – Introduction for Developers and Architects

Dive into the dynamic world of Amazon Kinesis, a premier AWS service for real-time data processing and analytics. Designed for developers and architects, this introduction covers the fundamentals of Kinesis, including its ability to handle high-volume data streams from thousands of sources with minimal latency. Learn about its applications in real-time analytics, IoT data processing, log collection, and more. Understand how Kinesis facilitates immediate data ingestion, processing, and analysis, enabling timely decision-making across diverse sectors like finance, social media, and IoT.