EDA Visuals Small bite sized visuals about event-driven architectures Designs and random thoughts from @boyney123 Risks of decisions up front with event-driven architecture Understanding project paradox and how EDA can help you defer decisions when knowledge is gained Importance of governance in event-driven architecture Governance is often overlooked with building EDA, without it can lead to a mess Building event-driven architecture piece by piece Simplifying approaches to building event-driven architectures What are CloudEvents? What are CloudEvents, how can they help, where to get started? Bidirectional patterns in event-driven architectures Using events to communicate cross organizations, teams and stacks Why event design is important Bite sized visual to help you understand why event design is important. Avoiding the big ball of mud in event-driven architectures Bite sized visual to help you understand the big ball of mud and why you might want to avoid it. Local cache copy vs requesting data Bite sized visual to help you understand local cache vs requests with event-driven architecture. What are events? Bite sized visual to help you understand events. What is Event Sourcing? Bite sized visual to help understand the Event Sourcing. Queues vs Streams vs Pub/Sub Bite sized visual to help understand the differences Reducing team cognitive load with event-driven architectures How event-driven architecture can help reduce cognitive load Understanding stream and discrete events What is the difference between streaming and discrete events? How can you use them? Exposing too much information in your events What information should we expose in our events? What patterns can help? Fundamentals of event-driven architecture Successful event-driven architecture, distilled into three main areas Publishing events, without any consumers... Are there any benefits to publishing events without any consumers? Maybe... Understanding change data capture Software design pattern to track changes made to data in a database Splitter Pattern Taking one event/message and splitting it into many. Batch processing vs event streaming Exploring different ways to process data in your architecture. Why use message brokers? How asynchronous processing can help you be more reliable, scalable and fault tolerant. Common issues when scaling event-driven architectures Common problems when going beyond the initial setup of event-driven architectures. Using events to migrate from legacy architectures What is event-driven migrations? How can we use events to help us migrate. Bounded context with event architectures Understanding the connection between bounded context and event-driven architectures Understanding event streaming What is event streaming? Unlocking value from your events How can event-driven architectures give business opportunities? Agility with event-driven architecture How can event-driven architectures help us move fast? Understanding event delivery failures What options do we have when events fail in our architecture? Inside event-driven architectures What patterns do we commonly see in event-driven applications? Point-to-point messaging Communicate with messages and channels Understanding publish & subscribe messaging Publish messages to many consumers Understanding Eventual Consistency What does eventual-consistency mean? Event-driven architecture and Conway's law Can event-driven architectures impact org structure? Message translator pattern Translate messages into new formats, data types or even protocols. Use pattern to decouple through contracts. Event-driven architecture coupled with Domain-driven design Why does EDA fit so well with DDD principles? Understanding Idempotency What does it mean to have idempotent consumers? Why is it important? Explicit vs Implicit Events Think about your event design, do both parties understand the event? Things to consider when building EDA architectures When building EDA applications over time you may run into issues, these are just a few you might want to consider Internal vs External Events Internal vs External events? Integration Events? Public language? What does it all mean? Claim check pattern Store data into DB, then enrich downstream using key. Journey to event-driven architecture Store data into DB, then enrich downstream using key. EventStorming Workshop to identify events, domains, commands and aggregates Content enricher pattern Enrich data before it reaches downstream consumers Document your event-driven architecture Notes, thoughts and examples of how to document your event-driven architectures. Message Delivery At most once, at least once and exactly once, what does it all mean? Sync vs Async Communication Architecture communication styles Choreography vs orchestration Understanding queues and pub/sub Event first thinking Identifying events and designing them is important. Good and hard parts of EDA Event sourcing and change data capture to for applications. Event Types Different types of events used in EDA Message Queues vs Event Brokers Understanding queues and pub/sub Ubiquitous Language Define a shared language across the business Commands vs Events What are commands? What are events? Events as Data Event sourcing and change data capture to for applications. Messages between bounded context Patterns to conform or translate messages bettwen bounded contexts Schema Management Overlooked part of EDA applications. Schemas. Producer and consumer responsibilities What are the responsibilities for our consumers and producers?