<aside> <img src="/icons/reorder_gray.svg" alt="/icons/reorder_gray.svg" width="40px" />
목차
</aside>
기존의 결제 시스템은 결제 서비스 업체로부터 전달 받는 웹훅을 동기적으로 처리하는 방식이었습니다. 그러나 외부 시스템의 일시적인 장애 또는 네트워크 지연이 발생할 경우 웹훅 데이터가 유실되거나 불일치 하는 문제가 생길 수 있었습니다. 이러한 문제는 결제 정보의 정확성에 큰 영향을 미칠 수 있으므로, 웹훅 처리 방식의 신뢰성 개선이 필수적인 상황이었습니다.
이에 따라 웹훅 처리의 안정성을 높이고, 데이터 유실 방지 및 시스템 부하를 효율적으로 관리할 수 있는 기술적 개선 방안이 필요했습니다.
웹훅 처리의 안정성을 높이기 위해 다음의 기술적 선택지들을 고려했습니다.
웹훅 처리 과정의 안정성 향상
기존의 방식에서는 웹훅 수신 중 장애가 발생하면 결제 정보의 유실 또는 불일치가 발생할 수 있었습니다. 새롭게 도입한 큐 기반 처리 방식에서는 웹훅 데이터를 즉시 메시지 큐에 안전하게 저장하여, 독립적인 프로세스에서 장애 발생 시에도 자동으로 재처리가 가능하도록 하였습니다. 이를 통해 데이터 손실의 위험을 크게 줄이고 처리 안정성을 확보했습니다.
서비스 성능과 시스템 부하 관리 개선
웹훅 처리를 주요 서비스 로직과 분리하여 별도의 워커를 통해 처리하는 구조를 도입했습니다. 이 방식은 일시적인 외부 서비스의 지연이나 장애 상황에서 시스템의 주요 서비스가 영향을 받지 않도록 부하를 분산시키며, 전체적인 서비스 응답성 및 안정성을 개선할 수 있었습니다.
재시도 로직 자동화
기존 방식에서는 웹훅 처리 장애 발생 시 운영자의 수동 개입이 필요하여 유지보수와 운영 비용이 증가했습니다. 큐 기반 처리 방식은 웹훅 처리 실패 시 자동으로 일정 간격으로 재시도하는 메커니즘을 포함하고 있어, 운영자의 추가 개입 없이 문제를 효율적으로 해결할 수 있습니다. 이로써 관리 효율성 또한 향상되었습니다.
웹훅 처리 방식을 큐 기반의 비동기 처리 및 자동 재시도 구조로 변경함으로써 결제 데이터의 신뢰성과 서비스 운영의 안정성을 크게 개선할 수 있었습니다. 이를 통해 운영 관리의 효율성을 높였으며, 향후 서비스 확장성 및 장애 대응력까지 확보할 수 있었습니다.