Spring Modulith / SNS / SQS
Publish an event. Keep the boundaries.
Follow a versioned event from its logical target to source verification, a fenced claim, local dispatch, and SQS acknowledgement.
Explore the delivery boundary
SQS and SNS choose the outbound service. DIRECT describes how the inbound SQS body is read.
The publisher sends the envelope and String attributes to a configured queue. The consumer reads the body in DIRECT mode.
Select a step or use Next. Play advances the explanation; it does not contact AWS.
One envelope. Explicit identity.
The same event identity crosses the publication and consumption boundaries. Transport attributes must agree with the envelope.
specVersionWire format = 1idStable event identitytype + versionExplicit registry entrypayloadSerialized string, byte limitsheadersAllowlisted business headersbt4k-event-*ID/type/version attributes must agreeThree views, two publishers
Publication success does not confirm remote consumption.
SQS
The publisher sends the envelope and String attributes to a configured queue. The consumer reads the body in DIRECT mode.
SNS
The configured subscription delivers a wrapped Notification to SQS. Check the allowed topic and signature before decoding its Message.
DIRECT
DIRECT is an inbound body mode, not a third publisher or a local shortcut. SNS-shaped bodies are rejected; queue access policy remains operator-owned.
Make ownership explicit
The adapter orders the steps. Application and operational policy determine what happens across retries and restarts.
Adapter
Bounded publication, envelope checks, source verification, fenced claim orchestration, synchronous dispatch, and manual acknowledgement ordering.
Application & operations
AWS clients and credentials, IAM, topics, queues, subscriptions, retry/DLQ policy, durable idempotency storage, and business-effect safety.
This explorer models control-flow boundaries, not a running broker. In-memory idempotency cannot provide cross-process or restart durability. Async handlers and partial side effects need application-level safeguards.