Skip to main content

ADR 0002: Redis Streams migration phase 1 (dual transport)

Status​

Accepted as the migration step. The consume path described here is historical. ADR 0003 and ADR 0004 replaced it.

Context​

Publishers had to keep old Pub/Sub consumers working while auth and social started writing Streams so replay and retention would exist. Social and communication consumers were still on Pub/Sub.

Decision​

Phase 1 transport is dual:

  • Publishers emit each integration event to Pub/Sub and to Streams.
  • Docs from that phase say "Redis integration events (Pub/Sub + Streams phase 1)".
  • Consume at that time was "Pub/Sub (legacy) + Streams (dual-write)".

Consequences​

Old consumers kept working, and stream data accumulated for the cutover. Two transports cost more to observe, so docs had to say clearly that Pub/Sub was still the consume path.

Rollout that was planned​

  1. Dual publish.
  2. Leave consumers on Pub/Sub.
  3. Compare channel and stream before phase 2.

Phase 2 then moved consumers. Do not re-enable dual publish as a default.