업그레이드
롤링 업그레이드(무중단 업그레이드)
만약 시스템에 각 Zuul 컴포넌트가 하나 이상 존재한다면, Zuul은 롤링 업그레이드를 수행함으로써 다운타임(중단 시간) 없이 업그레이드될 수 있습니다. 롤링 업그레이드 동안에는, 모든 컴포넌트가 업그레이드 완료될 때까지 컴포넌트들이 한 번에 하나씩 중지되었다가 다시 시작됩니다. 만약 업그레이드 도중 동작(behavior)의 변경이 있다면, Zuul은 일반적으로 모든 컴포넌트가 업그레이드될 때까지 동작을 변경하는 것을 기다릴 것입니다. 하지만 안전하다고 간주되는 일부 경우에는, 첫 번째 컴포넌트가 업그레이드되자마자 새로운 동작들이 나타나기 시작할 수도 있습니다. 모든 컴포넌트가 업그레이드될 때까지는 새로운 동작을 사용하기 시작하거나 그것에 의존하지 않도록 확실히 주의하십시오.
릴리스 노트에 명시되지 않는 한, 어떤 컴포넌트들이 먼저 업그레이드되어야 하는지에 대한 구체적인 순서는 없습니다. 그러나 다음의 순서는 혼란(disruption)을 최소화하고, 프로세스가 거의 끝날 때까지 새로운 동작의 사용을 지연시킬 가능성이 높습니다:
익스큐터(Executor)들을 정상적으로(gracefully) 재시작합니다 (한 번에 하나씩, 또는 시스템의 자원 초과 할당이 허용하는 만큼).
머저(Merger)들을 정상적으로 재시작합니다.
스케줄러(Scheduler)들을 재시작합니다.
웹(Web) 및 핑거(Finger) 게이트웨이들을 재시작합니다.
버전 건너뛰기
Zuul 버전들은 major.minor.micro(메이저.마이너.마이크로) 형식으로 지정됩니다. 일반적으로, 업그레이드 도중 마이너(minor) 또는 마이크로(micro) 버전을 건너뛰는 것은 안전한 것으로 간주됩니다. 메이저(major) 버전을 건너뛰는 것은 권장되지 않습니다. 왜냐하면 오래된 시스템을 위한 하위 호환성 코드가 메이저 업그레이드 도중에 제거될 수 있기 때문입니다. 이것은 예를 들어, 5.x.y 버전에서 7.0.0 버전으로의 업그레이드는 7.0.0으로 진행하기 전에 적어도 6.4.0(가장 최신 6.x 릴리스)으로의 업그레이드를 포함해야 함을 의미합니다.
만약 메이저 버전을 건너뛰는 것이 요구된다면, 롤링 업그레이드는 불가능하며, Zuul은 완전히 중지되어야 하고, 새로운 버전에서 재시작하기 전에 zuul-admin delete-state 명령어가 실행되어야만 합니다.
일부 버전들은 고유한 업그레이드 요구 사항들을 가질 수 있습니다. 특정 버전 업그레이드에 대한 추가 정보는 릴리스 노트를 참조하십시오.