Being the notifier.
WHAT YOU MUST PROVIDE
A way to register an address A signature so receivers can verify Retries on failure Visibility of delivery attempts
WHAT TO SIGN
The raw body, with a secret unique to that receiver.
WHAT TO INCLUDE
A timestamp, so old messages can be rejected.
WHY
It prevents a captured message being replayed later.
WHAT RETRY POLICY TO USE
Increasing delays, over a defined period.
WHY INCREASING
An overwhelmed receiver recovers rather than being flooded.
WHEN TO STOP
After a defined number of attempts.
WHAT TO DO THEN
Record the failure, and make it visible to the receiver.
WHAT TO PROVIDE
A log of deliveries, with status and response.
WHY
It is what receivers ask for first when something is missing.
WHAT ELSE TO PROVIDE
A way to replay events manually.
WHAT TO INCLUDE IN EACH EVENT
A unique identifier The type When it occurred Enough data to act, or an identifier to fetch it
WHAT TO CONSIDER
Sending only the identifier, requiring a fetch.
WHY THAT IS SOMETIMES BETTER
It avoids stale data and reduces what is exposed in transit.
WHAT TO NEVER DO
Send sensitive data in an event without considering where it lands.