Events
Producers write event_outbox in the same database transaction as the business change. outbox-relay-service publishes the envelope to Redis Streams. Consumers append to inbox_messages and let InboxMessageWorker run the handler. Handlers must be idempotent on event_id.
Produced
notification.push-dispatchonNotificationEventStreams.PUSH_DISPATCH.- Retry stream
PUSH_RETRYand dead-letterPUSH_DEAD_LETTERare operational streams, not business facts.
Consumed
- Social friend request, group invite, nickname, group deleted.
- Feed tag, mention, comment, reaction milestone, friend photo, payment evidence, streak reminder.
- Expense reminders, debt, and bulk settlement.
- Messaging direct message, group message, and group actions.
- Auth profile stream for locale sync.
Envelope fields that matter for operations: eventId, type, traceId (from X-Request-Id). See request correlation.