Advanced Vocabulary #eda#kafka#architecture

Event-Driven Architecture Vocabulary

5 exercises — Practice EDA vocabulary in English: event vs command, publisher/subscriber, broker, topic, delivery guarantees (at-least-once, exactly-once), dead letter queue, and schema registry.

Core EDA vocabulary clusters
  • Message types: event (fact that happened), command (instruction to do something), query (request for data)
  • Participants: producer/publisher, consumer/subscriber, broker (Kafka, RabbitMQ, SNS/SQS)
  • Delivery guarantees: at-most-once (may lose), at-least-once (may duplicate), exactly-once (no loss, no duplicate)
  • Error handling: dead letter queue (DLQ), retry policy, poison pill, schema registry (Avro, Protobuf, JSON Schema)
0 / 5 completed
1 / 5
A solutions architect explains a design decision to the team:
"We're migrating from a synchronous REST-based architecture to event-driven. The core idea: services communicate through events rather than direct API calls. When an order is placed, the OrderService emits an 'OrderPlaced' event to Kafka. The InventoryService, NotificationService, and AnalyticsService all consume that event independently. OrderService doesn't know or care who consumes it — it just emits the fact. This is the difference between an event and a command. An event says 'this happened'. A command says 'please do this'. Events are for decoupling; commands are for orchestration."
What is the key conceptual difference between an event and a command in messaging?