SK텔레콤 · 2026.01 ~ 현재

분산 시스템의 일관성과 검증

분산 KV REST 게이트웨이

Go·etcd 기반 분산 KV 게이트웨이 고도화. 이력 조회 안정화와 E2E 테스트 42개 작성, 계정·채널 권한 확장 및 온프레미스 배포·검증.

담당 범위
Go API 안정화 · 접근 제어 · E2E 테스트 · 배포 검증

문제와 제약

이력 조회가 일부 데이터만 반환하거나 대기 상태에 머물렀습니다. 계정·채널 기능을 확장하면서 기존 동작도 반복 검증해야 했습니다.

기술적 접근과 판단

조회가 끝나는 기준을 명시

목표 revision을 먼저 확보하고 그 시점까지 이벤트를 수집하도록 수정했습니다. Compaction으로 사라진 범위와 수집량 제한을 함께 다뤘습니다.

API 경계에서 회귀 검증

독립 Go 모듈의 블랙박스 E2E 테스트를 작성하고 Docker Compose·Makefile로 환경 기동부터 종료까지 자동화했습니다.

저장소와 애플리케이션의 일관성 구분

데이터 쓰기와 버전 스냅샷 기록이 분리된 구조의 동시성 문제를 분석하고, 원인 추적을 위해 로그 구조를 개선했습니다.

이력 조회의 종료 기준
  1. 목표 revision 확보
  2. 해당 시점까지 이벤트 수집
  3. revision과 이력 반환

Compaction 예외와 수집량 제한을 별도로 처리합니다. 공개 가능한 수준으로 재구성한 처리 흐름입니다.

구현과 검증

  • 이력 조회 누락·응답 대기 문제 수정, Compaction 예외 처리와 revision 응답 추가
  • Docker Compose 격리 환경에서 실제 연동 시스템 없이 시나리오를 검증하는 블랙박스 E2E 테스트 42개 작성
  • JWT·etcd RBAC 기반 계정·채널 권한 확장, 서비스 간 SSL 통신 적용, 온프레미스 배포·검증
  • 데이터 쓰기·버전 스냅샷의 동시성 문제 분석·개선 진행 및 로그 구조 개선

결과

  • 이력 조회 누락·응답 대기 문제 수정 및 revision 응답 추가
  • Docker Compose 격리 환경의 블랙박스 E2E 테스트 42개 작성 (2026년 4월)
  • 계정·채널 권한 확장과 개발 환경 검증 수행

현재 단계: 쓰기·스냅샷 동시성 개선 진행 중 (2026년 9월)

배운 점

저장소의 합의 일관성이 애플리케이션의 여러 쓰기 작업까지 자동으로 원자화하지는 않습니다.

이력 API는 정상 조회 외에도 종료 조건·압축된 범위·메모리 사용량을 함께 설계해야 합니다.