본문으로 바로가기

Backend & Distributed Systems

점진적 전환을 위한 버전 API 어댑터

운영 중인 클라이언트를 유지하면서 내부 엔드포인트를 버전 자원 계약으로 옮기는 호환 어댑터 전략을 다룹니다.

작성 약 1분 읽기
#backend#api-versioning#migration#compatibility

API 전면 재작성은 설계도에서는 단순하지만 배포 위험이 크다. 목표 자원 계약을 먼저 정하고 기존 엔드포인트를 살려둔 채 수직 기능 하나씩 어댑터 뒤로 옮기는 편이 안전하다.

Diagram loads as it approaches the viewport.

/v1 폴더만 추가해서는 부족하다. ID, UTC 시각, 서울 날짜 계산, 검증 오류, 멱등성, 소유권과 공개 범위가 안정된 계약이어야 한다. 기존 payload는 같은 원장으로 변환해 저장하고 데이터를 복제하지 않는다.

첫 수직 단위는 추천 이유, 일일 5개 제한, 타이머 복구, 세션 저장을 묶었다. 다음 단위는 주간 계획 생성과 잠금이었다. 외부 배포도 같은 경계를 쓴다. LinkedIn 어댑터는 자격증명과 --apply가 없으면 네트워크 쓰기를 하지 않고 API 버전을 헤더로 분리한다. 어댑터는 호출자 전환과 동등성 검증 뒤 제거할 임시 경계다.

관련 글