목록 보기
포스타입 정산 시스템 이관기 1
백엔드

포스타입 정산 시스템 이관기 1

포스타입
포스타입
2024년 12월 18일

두줄요약

정산 시스템을 PHP에서 Java로 이관하며, 태스크 서버를 SNS·SQS·ECS 기반 Job Runner로 재설계했습니다. 작업 일관성, 재시도성, 확장성을 높이기 위한 아키텍처 선택 과정을 정리했습니다.

문제 상황

  • PHP 기반 정산 시스템의 방대한 로직과 분기문으로 인한 유지보수 어려움
  • 태스크 서버에서 스케줄링·비동기 작업 방식이 제각각이어서 재시도와 운영이 비효율적인 상태

원인 분석

  • 절차적 로직 누적과 수년간의 유지보수로 불필요한 흐름 증가
  • Task 테이블 큐, Redis Pub/Sub, SNS, SQS 등 작업 방식 혼재로 일관성 부족
  • 실패 시 데이터 확인 후 코드 수정이 필요한 재시도 구조와 방어 코드 누적 가능성

해결 방법

  • PHP 정산 시스템을 Java로 이관하고, 태스크 서버를 새로운 Job Runner 아키텍처로 재구성
  • 스케줄링·비동기 작업을 SNS 메시지로 통일하고 SQS, ECS Task로 소비하는 구조 채택
  • EventBridge, SNS, SQS, ECS, CodePipeline을 활용해 배포와 운영 체계 정비

선택 이유

  • ECS는 Task 단위 스케일링으로 무거운 작업과 높은 처리량 대응에 유리
  • SNS, SQS는 팀의 운영 경험이 있고, DLQ·지연 큐·최소 1회 전송 보장 등 재시도성과 신뢰성 확보에 적합
  • Kafka보다 러닝 커브가 낮고 현재 서비스 규모에 더 적합한 선택

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...