Learning path
Event-Driven Architecture learning path: everything to study, topic by topic
Comprehensive event-driven architecture assessment covering event fundamentals, schemas and data contracts, stream processing, event sourcing and CQRS, choreography and sagas, and the reliability guarantees behind eventual consistency. Based on Adam Bellemare's Building Event-Driven Microservices.
Short answer
To learn Event-Driven Architecture, work through 6 modules and 25 topics in the order they build on each other. It starts with Event-Driven Fundamentals, then moves on to Schemas & Data Contracts and Event Processing. Use the map as a checklist, or measure your level and study only what is missing.
What you will study
Topics are grouped by module. Open one to see its objectives and key concepts.
1 · Event-Driven Fundamentals5 topics
Events as First-Class Data
Treating an event as an immutable record of something that happened — the single source of truth shared across services rather than a transient signal hidden behind an API
Objectives
- Explain why events are treated as first-class, immutable facts in an event-driven system
- Distinguish an event from a command and from a transient request/response call
Key concepts
- event as immutable fact
- single source of truth
- event vs command
- fact vs state
- loose coupling
Event Streams vs Queues
The difference between a durable, replayable, append-only event stream (log) and a traditional message queue where messages are consumed and removed
Objectives
- Compare an append-only event stream with a destructive message queue
- Explain how stream retention and offsets enable multiple independent consumers
Key concepts
- append-only log
- durable retention
- consume vs delete
- offset
- multiple independent consumers
Event Notification vs State Transfer
Choosing between thin event-notification messages that signal a change and event-carried state transfer that includes the full data the consumer needs
Objectives
- Distinguish event notification from event-carried state transfer
- Choose the right event style based on consumer needs and coupling
Key concepts
- event notification
- event-carried state transfer
- thin vs fat events
- consumer callback coupling
- data locality
Topic Design
Modeling event streams as topics: granularity, one-entity-per-topic guidance, single-writer ownership, and how topic boundaries map to business entities
Objectives
- Design topic boundaries that align with business entities and a single writer
- Evaluate the trade-offs of fine-grained versus coarse-grained topics
Key concepts
- topic granularity
- entity per topic
- single writer principle
- event taxonomy
- topic boundaries
Producers & Consumers
The producer/consumer model: producers write to topics, consumers read at their own pace via offsets, consumer groups, and the decoupling this creates between sides
Objectives
- Describe how producers and consumers interact through an event stream
- Explain how consumer groups and offsets decouple producers from consumers
Key concepts
- producer
- consumer
- consumer group
- offset tracking
- pull-based consumption
2 · Schemas & Data Contracts4 topics
Event Schemas
Defining explicit, serializable event schemas with Avro or Protobuf so producers and consumers share a strongly typed contract rather than implicit JSON shapes
Objectives
- Explain why explicit event schemas (Avro/Protobuf) beat implicit JSON
- Select an appropriate serialization format for an event stream
Key concepts
- Avro
- Protobuf
- explicit schema
- serialization format
- strong typing
Schema Evolution & Compatibility
Evolving event schemas safely over time using backward, forward, and full compatibility rules so old and new producers and consumers can coexist
Objectives
- Classify a schema change as backward, forward, or fully compatible
- Evolve an event schema without breaking existing consumers
Key concepts
- backward compatibility
- forward compatibility
- full compatibility
- default values
- breaking change
Data Contracts
Treating a published event stream as a long-lived public data contract with explicit ownership, semantics, and quality guarantees that consumers can depend on
Objectives
- Define a data contract for a published event stream
- Establish ownership and deprecation policy for a public event stream
Key concepts
- data contract
- stream ownership
- semantic guarantees
- consumer dependency
- deprecation policy
Schema Registry
Using a central schema registry to store, version, and enforce compatibility of event schemas so producers cannot publish incompatible changes
Objectives
- Explain how a schema registry enforces compatibility at publish time
- Describe how schema ids let consumers deserialize correctly
Key concepts
- schema registry
- schema versioning
- compatibility enforcement
- schema id
- centralized governance
3 · Event Processing4 topics
Stateless Event Processing
Processing each event independently — transforms, filters, and enrichments that require no memory of prior events and scale horizontally with ease
Objectives
- Identify processing that can remain stateless and scale freely
- Design a stateless transform-and-filter pipeline over an event stream
Key concepts
- stateless transform
- filter
- map
- enrichment
- horizontal scaling
Stateful Event Processing
Processing that accumulates state across events — aggregations, joins, windowing — backed by a local state store and changelog for fault tolerance
Objectives
- Design a stateful aggregation backed by a fault-tolerant state store
- Choose a windowing strategy for a time-based aggregation
Key concepts
- state store
- stream join
- windowing
- aggregation
- changelog backing
Partitioning & Ordering
How partition keys determine ordering guarantees and parallelism: events sharing a key stay ordered within a partition, while cross-partition ordering is not guaranteed
Objectives
- Choose a partition key that preserves required ordering
- Explain why cross-partition ordering is not guaranteed and how to cope
Key concepts
- partition key
- per-key ordering
- parallelism
- hot partition
- repartitioning
Materialized Views
Building queryable materialized views by consuming an event stream and maintaining a local table that always reflects the latest state for fast reads
Objectives
- Build a materialized view from an event stream for fast local reads
- Explain the table-stream duality underpinning materialized views
Key concepts
- materialized view
- table-stream duality
- local read model
- compacted state
- query optimization
4 · Event Patterns4 topics
Event Sourcing
Persisting state as an ordered log of domain events rather than as current rows, reconstructing state by replaying events and enabling full historical audit
Objectives
- Explain how event sourcing reconstructs state by replaying events
- Describe when snapshots are needed to bound replay cost
Key concepts
- event store
- state from replay
- append-only history
- snapshots
- audit trail
CQRS
Command Query Responsibility Segregation: separating the write model that validates and emits events from independently optimized read models built from those events
Objectives
- Separate command and query responsibilities with independent models
- Reason about read-side lag introduced by CQRS
Key concepts
- command model
- query model
- read/write separation
- independent scaling
- eventual read consistency
The Outbox Pattern
Atomically writing business state and an outbox event row in one local transaction, then relaying outbox rows to the event stream to avoid dual-write inconsistency
Objectives
- Explain how the outbox pattern eliminates the dual-write problem
- Describe how a relay or CDC process publishes outbox rows reliably
Key concepts
- dual-write problem
- transactional outbox
- relay process
- change data capture
- atomic local transaction
Projections
Building and rebuilding read-side projections by folding events into purpose-built views, and replaying from the start to recreate a projection after a schema change
Objectives
- Design a projection that folds events into a purpose-built read model
- Rebuild a projection from the event log after a model change
Key concepts
- projection
- fold over events
- rebuildable read model
- projection versioning
- replay to rebuild
5 · Coordination3 topics
Choreography vs Orchestration
Coordinating multi-service workflows by reacting to events (choreography) versus a central coordinator issuing commands (orchestration), and the trade-offs of each
Objectives
- Compare choreographed and orchestrated coordination of a workflow
- Choose between choreography and orchestration for a given workflow
Key concepts
- choreography
- orchestration
- central coordinator
- emergent workflow
- coupling trade-offs
Sagas
Managing a long-running distributed transaction as a sequence of local transactions, each publishing an event that triggers the next step or a compensating action on failure
Objectives
- Decompose a distributed transaction into a saga of local steps
- Explain why sagas replace two-phase commit across services
Key concepts
- distributed transaction
- local transaction sequence
- saga log
- forward recovery
- no two-phase commit
Workflow Compensation
Designing compensating transactions that semantically undo completed saga steps when a later step fails, since committed local transactions cannot be rolled back
Objectives
- Design compensating transactions for a multi-step saga
- Handle partial failure where some steps committed and later steps failed
Key concepts
- compensating transaction
- semantic rollback
- backward recovery
- idempotent compensation
- partial failure handling
6 · Reliability & Consistency5 topics
Delivery Guarantees
Reasoning about at-most-once, at-least-once, and exactly-once semantics, and why at-least-once delivery plus idempotent consumers is the pragmatic path to effectively-once processing
Objectives
- Compare at-most-once, at-least-once, and exactly-once delivery
- Explain how at-least-once plus idempotency yields effectively-once processing
Key concepts
- at-most-once
- at-least-once
- exactly-once
- effectively-once
- duplicate delivery
Idempotency
Making consumers safe under duplicate and out-of-order delivery using idempotency keys, deduplication, and upsert semantics so reprocessing causes no side-effect drift
Objectives
- Make a consumer idempotent under duplicate delivery
- Choose a deduplication strategy that bounds storage cost
Key concepts
- idempotency key
- deduplication
- upsert semantics
- processed-id store
- side-effect safety
Dead-Letter & Poison Messages
Isolating poison messages that repeatedly fail processing into a dead-letter stream so they do not block the partition, plus retry, alerting, and reprocessing strategy
Objectives
- Design dead-letter handling that prevents head-of-line blocking
- Define a retry and alerting policy for poison messages
Key concepts
- poison message
- dead-letter queue
- retry policy
- head-of-line blocking
- reprocessing
Eventual Consistency
Accepting that derived state across services converges over time, reasoning about replication lag and read-your-writes anomalies, and designing UX and APIs that tolerate them
Objectives
- Reason about anomalies introduced by eventual consistency
- Design APIs and UX that tolerate convergence delay
Key concepts
- convergence
- replication lag
- read-your-writes
- stale read tolerance
- consistency boundary
Replayability
Exploiting durable event streams to replay history — backfilling new consumers, rebuilding state after bugs, and bootstrapping new services from the retained log
Objectives
- Use replay to backfill a new consumer and rebuild derived state
- Define a retention strategy that keeps replay feasible and affordable
Key concepts
- stream replay
- consumer backfill
- state rebuild
- retention strategy
- bootstrapping new consumers
Levels: Junior, Mid, Senior, and Expert
Explain it in your own words
Graded by AI · no account · 1 questionNo options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.
Already studying Event-Driven Architecture?
The assessment measures topic by topic, and your plan skips what you already know.
Open to read. An account is only needed to be measured.
Frequently asked questions
Where should I start studying Event-Driven Architecture?
Start with Event-Driven Fundamentals: Events as First-Class Data, Event Streams vs Queues, and Event Notification vs State Transfer. The map orders topics by what they depend on, so each one prepares the next.
How long does a full Event-Driven Architecture assessment take?
A full assessment of this path takes about 55 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.
Do I need an account to use this page?
No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.