A 지자체·B 지자체 지원금 지급 및 결제용 플랫폼 구축

프로젝트 기간: 2026 상반기 (약 6개월)

역할: 백엔드 개발 (결제 API 개발, 메타/산출물 관리)


내 역할

┌──────────────────────────────────────────────────────────────────────────┐
│  1. 결제 API 및 망취소(망 장애 복구) 트랜잭션 로직 개발                │
│  2. 대용량 실시간 거래 처리를 위한 DB 인덱스 튜닝 (3.5초 → 1.3초 개선)  │
│  3. 메타 데이터 관리(ERD 및 인터페이스 관리)                          │
│  4. 가맹점 필드 테스트                                          │
└──────────────────────────────────────────────────────────────────────────┘


1. 프로젝트 개요

전자지갑 구축 이후, 첫 번째/두 번째 B2B 제휴사로 **지방자치단체(공공기관)**를 온보딩하여 지원금 지급 및 결제용 플랫폼을 구축한 프로젝트입니다.

  • 서비스 대상: 수만 명 규모
  • 트래픽/거래 규모: 월 결제 건수 수십만 건
  • 시스템 구조 및 SLA: 결제 단말기 / 카드사EAI / 당사 전자지갑연동 플랫폼알림 서비스
  • 핵심 요구사항: 결제 수신부터 알림 발송까지 전체 구간 3초 이내 완결
  • 확장형 연동 구조: 최초 구축 시스템을 기반으로 개발하되, 제휴사 관리 모듈에서 제휴사 코드를 변경하면 타 지자체에도 유연하게 적용할 수 있는 공통 모듈 구조로 설계

2. 담당 업무

① 결제 API 및 망취소(Network Rollback) 개발

  • 결제 / 결제 취소 API: 실시간 지원금 차감 및 취소 트랜잭션 처리
  • 망취소 로직 구현: 카드사-전자지갑-외부 기관 간 네트워크 타임아웃(3초 초과) 또는 통신 장애 발생 시, 고객 지원금 차감 방지

② 메타 관리 및 가맹점 필드 테스트

  • 메타데이터 & ERD 관리: 인터페이스 규격서 정의 및 변경되는 ERD 반영/동기화
  • 실전 필드 테스트: 테스트 가맹점 등록 후, 카드 단말기 실제 결제 ➔ 포인트 차감 ➔ 알림 수신까지 전 과정을 필드에서 직접 검증

3. 트러블 슈팅

문제 상황: 데이터 누적으로 인한 쿼리 성능 저하 및 망취소 발생

  • 현상: 서비스 오픈 초기 1.5초 수준이던 결제 처리 시간이, 오픈 1개월 후 거래 내역/이력이 급증하면서 2.5초 ~ 3.5초까지 지연.
  • 원인: 전체 결제 타임아웃 기준인 3초를 초과하면서 망취소(결제 실패)가 빈번하게 발생하는 크리티컬 이슈 발생.

해결 방안: DB 인덱스(Index) 재설계 및 튜닝

  • 결제 트랜잭션 시 조회/검증 조건으로 사용되는 회원 정보 테이블 및 거래 이력 테이블의 실행 계획(Execution Plan) 분석.
  • 자주 조합되어 조회되는 카디널리티(Cardinality) 높은 컬럼 조합으로 복합 인덱스(Composite Index) 생성 및 PK 조회 경로 최적화.

개선 결과

  • 결제 API 응답 속도: 3.5초 ➔ 1.3초 (약 63% 감소)

4. 배운 것

1. 실시간 트랜잭션에서 DB 인덱스의 중요성

오픈 초기 적은 데이터에서는 드러나지 않던 쿼리 성능 문제가 데이터 누적에 따라 서비스 마비(망취소)로 이어지는 과정을 목격했습니다.
대용량 데이터 환경을 고려한 쿼리 작성과 미리 대비된 인덱스 설계의 중요성을 깊이 체감했습니다.

2. 정확한 메타 관리와 인터페이스 산출물의 가치

산출물 만드는 작업이 다소 번거로웠지만, 산출물 없이 암묵지로 작업하는 시스템을 접했을 때 비로소 가치를 깨달았습니다.
체계적인 산출물과 문서화가 유지보수와 협업의 핵심이라는 점을 배울 수 있었습니다.

5. 다음 프로젝트

산출물 체계화 경험과 관련해 다음 프로젝트 이야기로 이어집니다.