Visual overview
A publisher can fan out, buffer, and content-route events; orchestration can be added when the process needs explicit state.
Technical reference
Map the problem to the coordination primitive before considering implementation detail.
Pull-based durable buffer with visibility timeout, acknowledgement by deletion, DLQ redrive, and Standard/FIFO delivery semantics.
Push-based publish/subscribe with one-to-many subscriptions and optional per-subscription filter policies.
Structured events are matched by declarative rules and sent to targets; buses support application and organizational event fabrics.
ASL explicitly owns sequence, branching, parallelism, retries, catches, waits, and terminal workflow state.
Route or distribute once, then give each consumer path its own durable processing backlog.
A matched event can start an explicit multi-step workflow when event selection and process ownership are both required.
Each service owns a different coordination problem
Amazon SQS owns a queue: it durably buffers messages until consumers pull and delete them. Amazon SNS owns a topic: a publisher sends once and SNS pushes copies to subscriptions. Amazon EventBridge owns event routing: structured events enter a bus, rules match content, and matching targets receive the event. AWS Step Functions owns workflow state: a state machine decides what step executes next and records the process according to its workflow type.
These are not four competing versions of the same service. A reliable architecture may use all four. For example, an application emits an event to EventBridge, a matching rule targets an SQS queue to absorb bursts, a worker starts a Step Functions workflow, and that workflow publishes a completion notification to SNS. The correct exam answer depends on which coordination requirement the question is actually testing.
Fanout, filtering, and buffering should be separated deliberately
If one publication must reach multiple consumers, SNS and EventBridge can both participate in fanout, but their routing models differ. SNS centers on topic subscriptions and per-subscription filter policies. EventBridge centers on structured events and rules whose patterns can match event metadata and detail fields, making it natural for larger event fabrics and AWS service events. Neither inherently gives every target a durable consumer-controlled backlog.
SQS supplies that backlog. Placing a queue in front of each worker isolates processing rates, absorbs spikes, and allows failed workers to resume consumption later. SNS-to-SQS is therefore a classic fanout pattern, while EventBridge-to-SQS adds content-based event selection before queueing. Queueing changes the failure boundary: target workers can be unavailable without forcing the publisher or event router to wait for processing completion.
- SQS consumers pull; SNS pushes to subscriptions.
- SNS subscription filters are topic/subscriber routing; EventBridge rules operate on structured event patterns.
- SQS stores a consumer backlog; an event bus is not a substitute for queue processing semantics.
- DLQ behavior should be designed at the actual failure boundary: router delivery, queue processing, or workflow state.
Choreography routes events; orchestration owns a sequence
EventBridge supports choreography: services emit facts, and other services react without a central component dictating the entire business sequence. This reduces direct coupling and supports adding new consumers without modifying the producer. It is strongest when the process can be understood as reactions to events and no single execution needs to own all intermediate state.
Step Functions is orchestration: the state machine explicitly models sequence, choice, parallel branches, waits, retries, catches, and terminal outcomes. Use it when the process itself must be durable and observable as one workflow. EventBridge can start a state machine and Step Functions can emit events, so choosing one coordination style does not exclude the other.
Key takeaways
- 01
SQS buffers durable work; SNS fans out publications; EventBridge routes structured events; Step Functions orchestrates workflow state.
- 02
SNS-to-SQS combines one-to-many fanout with an independent durable backlog for each consumer.
- 03
EventBridge patterns are better suited to event-content routing across a shared event fabric than topic naming alone.
- 04
Step Functions is appropriate when sequence, branching, retries, and workflow history are first-class requirements.
- 05
Event choreography and workflow orchestration can coexist in the same architecture.
Official AWS sources
Use these primary AWS resources for the source material behind this article and for deeper reference.