BullMQ로 알림 시스템 운영하기 3편 - 발송 이력을 어디에 쌓을 것인가
발송 이력을 어디에 저장할지에 대한 고민이다. 관계형 DB, RDB·S3 직렬·SNS fan-out·Firehose를 놓고 따진 트레이드오프를 정리했다.
글 3편

발송 이력을 어디에 저장할지에 대한 고민이다. 관계형 DB, RDB·S3 직렬·SNS fan-out·Firehose를 놓고 따진 트레이드오프를 정리했다.

발송 한도는 5초당 100건, 평균은 20 req/s로 종이 위에는 한도 안이었다. 그런데 429가 났고, 시작이 어긋난 fixed-window와 계정 공유가 겹치며 발송 경로를 다시 설계했다.

알림톡, 이메일, 푸시를 HTTP 호출로만 보내면 금세 한계에 부딪힌다. 1편에서는 발송 모듈, rate limit, 스케줄, 이력 저장을 BullMQ 하나에 맡기는 이유를 정리한다.