Subscriptions

Use subscriptions when external consumers need to receive events emitted by a published app.

Poll delivery

Polling is the simplest integration shape. The consumer periodically asks for events after a cursor and stores the returned cursor after successful processing.

Use polling when:

  • the consumer needs strong retry control
  • network connectivity is intermittent
  • batch processing is acceptable
  • operational simplicity matters more than low latency

SSE delivery

SSE streams events over a long-lived HTTP connection. Use it when consumers need lower latency and can handle reconnect behavior.

Consumers must still persist progress. A live stream is not a substitute for durable processing.

Event selection

Subscriptions should be explicit about event types and target app/environment. Avoid broad event feeds unless the consumer is an audit or replication process.

Choosing poll or SSE

NeedPrefer
Simple integration and retriesPoll
Lower latency updatesSSE
Batch processingPoll
Live UI or near-real-time consumerSSE

Failure handling

Consumers should treat event handling as at-least-once. Store cursors after processing and make side effects idempotent.