[루프팩] volume 7. 한 번 사라진 이벤트, 다시 살릴 수 있을까?
지난주에는 PG 결제로 확정된 주문을 OrderConfirmed 이벤트로 Kafka에 보내고, commerce-streamer가 받아 상품 구매 활동으로 저장하게 만들었습니다. 같은 이벤트가 두 번 와도 구매 활동이 늘지 않도록 consumer 쪽 중복 방지도 꼼꼼히 넣었고요. 그런데 잠시만요.주문 확정 commit 뒤, 이벤트를 보내기 직전에 서버가 죽으면 이벤트 자체가 없다.consumer가 아무리 중복을 잘 막아도, 애초에 도착하지 않은 이벤트는 찾아낼 방법이 없습니다. 주문은 CONFIRMED, 결제도 SUCCESS, 재고도 빠졌는데 구매 활동만 비어 있는 주문이 조용히 생깁니다.이번 주는 그 빈틈을 Transactional Outbox로 막고, 더 나아가 6주차 코드로 실제로 이벤트를 잃어버린 ..