기존 시스템은 API 요청 시 RDB에 직접 데이터를 저장하는 동기 방식으로 처리하고 있었습니다.
이 방식은 요청 처리량이 증가할수록 DB 트랜잭션 병목이 발생하며,
응답 지연과 시스템 확장성의 한계를 드러내는 문제가 있었습니다.
before

after

[API 요청]
↓
[Outbox 저장 (RDB)]
↓
[Scheduler 또는 Worker]
↓
[Redis Stream 발행]
↓
[Consumer (비동기 처리)]
↓
[RDB 반영 및 ack 처리]