프로토콜 호환성 약속
프로토콜 호환성 약속 (Protocol Compatibility Promise)
Consul은 장기 실행 에이전트가 있는 대규모 클러스터에서 실행될 것으로 예상돼요. 이러한 환경에서 에이전트를 안전하게 업그레이드하는 것은 역호환성에 크게 의존하므로, 서로 다른 Consul 버전을 프로토콜 호환 상태로 유지하는 데 강한 의지를 갖고 있어요.
출처: 문서
본문
Consul은 장기 실행 에이전트가 있는 대규모 클러스터에서 실행될 것으로 예상합니다. 이러한 종류의 환경에서 에이전트를 안전하게 업그레이드하는 것은 역호환성에 크게 의존하기 때문에, 우리는 서로 다른 Consul 버전을 프로토콜 호환 상태로 유지하는 데 강한 의지를 갖고 있습니다.
우리는 Consul의 모든 후속 릴리스가 적어도 하나의 이전 버전과 역호환을 유지할 것을 약속합니다. 구체적으로: 버전 0.5는 0.4와 통신할 수 있지만(그 반대도 마찬가지) 0.1과는 통신하지 못할 수 있습니다.
별도로 언급하지 않는 한 역호환성은 자동입니다. Consul 에이전트는 기본적으로 최신 프로토콜을 사용하지만 이전 프로토콜도 이해할 수 있습니다.
참고 (Note): 이전 프로토콜로 통신하는 경우 새 기능을 사용하지 못할 수 있습니다.
에이전트가 이전 프로토콜로 통신할 수 있는 능력은 클러스터 중단 없이 모든 에이전트를 업그레이드할 수 있도록 보장하기 위한 것입니다. Consul 에이전트는 한 번에 하나씩, 한 버전씩 업데이트할 수 있습니다.
업그레이드의 세부 사항에 대한 자세한 내용은 업그레이드 페이지를 참조하세요.
프로토콜 호환성 표 (Protocol Compatibility Table)
| Consul Version | Protocol Compatibility |
|---|---|
| 0.1 - 0.3 | 1 |
| 0.4 | 1, 2 |
| 0.5 | 1, 2. 0.5.X 서버는 이전 서버와 혼합할 수 없습니다. |
| 0.6 | 1, 2, 3 |
| >= 0.7 | 2, 3. 호환 에이전트와 통신할 때 프로토콜 > 2를 자동으로 사용합니다. |
참고 (Note): Raft 프로토콜은 별도로 버전이 지정되지만 적어도 하나의 이전 버전과의 호환성을 유지합니다. 자세한 내용은 여기를 참조하세요.