피드로 돌아가기
How We Improved Payment System Throughput by 25% Using Apache Kafka at a Fortune 500 FinTech
Dev.toDev.to
Backend

Apache Kafka 도입을 통한 결제 시스템 처리량 25% 향상

How We Improved Payment System Throughput by 25% Using Apache Kafka at a Fortune 500 FinTech

Disha Sune2026년 5월 3일7intermediate

Context

수백만 건의 일일 트랜잭션을 처리하는 레거시 synchronous REST API 구조로 인한 서비스 간 강한 결합 발생. 특정 서비스의 지연이 전체 체인으로 전이되는 병목 현상 및 단일 장애 지점(SPOF)으로 인한 결제 실패 위험 상존.

Technical Solution

  • Event Driven Architecture 전환을 통한 Authorization 서비스와 하위 서비스 간의 물리적·논리적 디커플링 구현
  • ACKS_CONFIG="all" 및 ENABLE_IDEMPOTENCE_CONFIG=true 설정을 통한 금융 데이터의 무손실 전송 및 중복 메시지 방지
  • transactionId를 Message Key로 지정하여 파티션 내 순서 보장 및 트랜잭션 일관성 유지
  • ENABLE_AUTO_COMMIT_CONFIG=false 설정을 통한 수동 Offset 커밋 방식으로 처리 완료 시점에 대한 정밀 제어
  • processed_transactions 테이블을 활용한 Idempotency 검증 로직 구현으로 네트워크 재시도에 따른 중복 처리 원천 차단
  • 트래픽 예측치에 기반한 12개 파티션 설계를 통한 Consumer 병렬 처리 최적화

Impact

  • 전체 시스템 처리량(Throughput) 25% 개선
  • 서비스 간 독립적 스케일링 가능 구조 확보로 리소스 효율성 증대

1. 금융 데이터 처리 시 Producer의 Idempotence 설정 및 ACKS="all" 적용 여부 확인

2. 순서 보장이 필요한 데이터는 적절한 Business Key를 선정하여 동일 파티션 할당 유도

3. Consumer Lag 모니터링 임계치(예: 1,000건) 설정 및 알람 체계 구축

4. 중복 메시지 처리를 위한 DB 기반의 Idempotency Table 도입 검토

5. 초기 파티션 설계 시 확장 가능성을 고려한 적정 수치 산정

원문 읽기