Event-driven architecture is a design in which services communicate by producing and responding to events.

Systems react to facts

In an event-driven design, a producer announces that something happened and other services decide whether to respond. This can reduce direct coupling between the service that creates an event and its consumers.

Events become part of the contract

Teams need clear schemas, ordering expectations, replay rules, and ownership. Duplicate delivery is normal in many systems, so consumers should safely handle it.