[E-commerce] 트랜잭셔널 아웃박스 패턴을 활용한 이벤트 기반 주문 처리 시스템 설계 및 구현(With Kafka)
·
성장이야기/TIL
현재 서비스의 트랜잭션 범위에 대한 이해상품 주문 결제 트랜잭션Tx -> 사용자 조회 -> 장바구니 조회 -> 주문 및 주문 아이템 생성 -> 재고 차감 -> 결제 -> 주문 정보 전송 -> commit현재 트랜잭션 범위의 문제점긴 트랜잭션 : 하나의 트랜잭션에서 주문, 결제 같이 여러 작업을 처리하게 될 경우 트랜잭션의 작업 시간이 길어져, 다른 트랜잭션에서 커넥션이 필요할 때 대기시간이 길어져 사용성이 떨어진다.-> 트랜잭션의 사용시간이 길어 생기는 문제전체 롤백 문제 : 주문 정보를 외부 데이터 플랫폼에 전송 도중 오류로 인해 전송에 실패하면 이전 작업(주문 생성, 재고 차감, 결제)들이 모두 롤백된다. 상품 주문 시 핵심적인 비즈니스 로직이 부가적인 주문 정보 전송 로직에 의해 롤백되고 있기 때문..