시맨틱 버저닝
시맨틱 버저닝 명세(Semvers, Semantic Versioning specification)3는 API 버저닝에 관한 유용한 지침서입니다. 여기에는 버전 번호를 사용하고 증가시키는 규칙들이 명시되어 있습니다. 시맨틱 버저닝은 원래 소프트웨어 패키지의 버저닝 용도로 쓰였지만, 분산 시스템의 API 버저닝에도 사용할 수 있습니다.
이 명세에 따르면 버전 번호를 MAJOR.MINOR.PATCH 세 파트로 구성하고 다음 규칙에 따라 각각 증가시킵니다.
• MAJOR(메이저): 하위 호환되지 않는 변경분을 API에 적용 시
• MINOR(마이너): 하위 호환되는 변경분을 API에 적용 시
• PATCH(패치): 하위 호환되는 오류 수정 시
이런 버전 번호를 API 어디에 넣을 수 있을까요? REST API라면 메이저 버전을 URL 경로의 첫 번째 엘리먼트로 쓸 수 있고, 메시징 기반의 서비스라면 이 서비스가 발행한 메시지에 버전 번호를 넣을 수 있습니다. 어쨌든 API를 올바르게 버저닝해서 일정한 규칙에 맞게 발전시키는 것이 중요합니다.