고가용성 모드
Snyk Broker는 서버와 클라이언트 모두에 고가용성 기능을 제공하여 현재 Broker의 확장성을 높일 수 있으며, 초기에는 Snyk Code를 위한 "Broker를 통한 Git 클론" 흐름 추가를 지원합니다.
고가용성 모드를 사용하면 여러 Broker Client가 서로 독립적인 별도의 연결을 가질 수 있습니다. Snyk 플랫폼은 요청을 여러 연결에 고르게 분산시켜 각 클라이언트의 부하를 줄이고, 하나가 오프라인 상태가 되더라도 실제적인 리redundancy를 제공합니다. 또한 고가용성 모드는 Snyk이 Broker 서버 구성 요소를 업그레이드하는 드문 경우에도 다운타임을 방지합니다.

고가용성 모드를 사용하려면 여러 개의 컨테이너를 실행하거나 Kubernetes 배포에서 레플리카(replica) 수를 늘려 둘 이상의 복제본을 배포하십시오. 각 컨테이너는 정확히 동일한 파라미터를 가져야 합니다.
고가용성 모드에서 동시에 실행되는 Broker Client는 최대 4개까지 허용됩니다. 다섯 번째 터널은 무기한으로 연결을 시도하게 됩니다.
고가용성(HA) 모드 활성화를 위한 설정
고가용성 모드는 기본적으로 비활성화되어 있습니다. 이를 활성화하려면 컨테이너나 배포 환경에서 다음과 같이 환경 변수를 설정하십시오.
Helm 차트 배포의 경우 set 인수를 사용하여 모드를 활성화함으로써 이 값을 설정할 수 있습니다. Helm 차트 버전 1.7.0 이상이 필요합니다.
레플리카 수 증가, Broker 디스패처 베이스 URL 업데이트 등 추가 구성을 조정하려면 차트 값(values) 파일을 검토하십시오.
설정에 대한 중요한 참고 사항
api.eu.snyk.io와 같이 지역별 Snyk 플랫폼을 사용하는 경우 Dispatcher Base Url은 해당 지역에 특화되어야 합니다. 자세한 내용은 지역 호스팅 및 데이터 상주를 참조하십시오.
app.snyk.io를 사용하는 경우 다음 설정은 필요하지 않습니다. 지역별 Snyk 플랫폼에만 적용됩니다.
api.snyk.io 또는 해당 API 호스트 이름으로의 아웃바운드 연결이 허용되어야 합니다. 그렇지 않으면 Broker 클라이언트 시작 시 사전 점검(preflight checks)에서 실패가 나타납니다.
BROKER_CLIENT_URL 값은 고가용성 세트에 속한 모든 Broker 클라이언트에서 동일하게 유지되어야 합니다. 동일한 BROKER_TOKEN도 사용해야 합니다. 이 URL이 특정 클라이언트로 해석되어도 괜찮습니다.
여러 터널은 주로 Snyk => 사용자(You) 흐름을 지원합니다. 사용자 => Snyk 방향의 웹훅도 모든 터널을 이용할 수 있습니다.
가급적 로드 밸런서(Load Balancer)를 도입할 수도 있습니다. Kubernetes 배포와 서비스가 각 Broker Client 앞에 있으면 이를 자동으로 분산시킵니다.
다음 클라이언트 로그 라인은 고가용성 모드가 활성화되었음을 보여줍니다.
고가용성 모드를 사용하면 각 클라이언트에 할당된 터널의 개념이 도입되며, 예측 가능한 Broker 서버 세트 전체에 해당 터널을 스케줄링하여 고유한 클라이언트가 올바른 파드(pod)에 연결될 수 있도록 합니다.
Last updated