Batch
-
이코에코(Eco²) Message Queue #10: DB INSERT 멱등성 처리, Celery Batch로 일괄 처리이코에코(Eco²)/Message Queue 2025. 12. 24. 12:16
이전 글: 보상 판정과 Persistence 분리 구현 본 문서는 celery-batches 패키지를 활용한 배치 처리와 ON CONFLICT DO NOTHING 기반 멱등성 보장 구현을 다룬다.1. 배치 처리 필요성1.1 개별 INSERT 문제Fire&Forget으로 save_ownership, save_my_character를 발행하면 트래픽 증가 시:요청 1 → DB 연결 → INSERT → 연결 반환요청 2 → DB 연결 → INSERT → 연결 반환...문제점:매 요청마다 DB 연결 생성/반환 오버헤드트랜잭션 로그 write 횟수 증가DB 커넥션 풀 소진 위험1.2 배치 처리 이점요청 1~50 → 버퍼에 쌓음 → 50개 모이면 한 번에 처리 → DB 연결 1회 → BULK INSE..