인프라
Neffix Zuul
크레비즈
2018. 5. 18. 17:08
What is Zuul?
Zuul은 devices 및 web site 에서 Netflix 스트리밍 응용 프로그램의 backend에 대한 모든 요청을 처리하기 위한 front door 이다. Edge 서비스 애플리케이션인 Zuul은 dynamic routing, monitoring, resiliency 및 security 를 지원한다. 또한 필요에 따라 여러 개의 Amazon Auto Scaling Group으로 요청을 route 할 수 있다.
Why did we build Zuul?
Netflix API traffic의 양과 다양성으로 인해 때때로 신속하고 경고없이 문제가 발생한다. 우리는 이러한 상황에 대응하기 위해 행동을 빠르게 바꿀 수있는 시스템이 필요하다.
Zuul은 다양한 유형의 필터를 사용하여 신속하게 edge service에 기능을 적용 할 수 있다. 이 필터는 다음과 같은 기능을 수행하는 데 도움이됩니다.
- 인증 및 보안 - 각 리소스에 대한 인증 요구 사항을 식별하고 이를 만족시키지 않는 요청을 거부한다.
- Insights 및 모니터링 - 의미있는 데이터 및 통계를 추적하여 제품의 정밀한 view 를 제공한다.
- 동적 라우팅 - 필요에 따라 다른 backend clusters 에 대한 요청을 동적 라우팅 한다.
- 스트레스 테스팅 (Stress Testing) - 성능 측정을 위해 점차적으로 클러스터 트래픽을 증가한다.
- Load Shedding - 각 유형의 요청에 대해 용량을 할당하고 제한을 초과하는 요청을 삭제한다.
- 정적 응답 처리 (Static Response handling) - 내부 클러스터로 전달하는 대신 가장자리에서 일부 응답을 직접 작성한다.
- 다중 지역 복원력 (Multiregion Resiliency) - ELB 사용을 다양화하고 회원에게 더 가까이 나아갈 수 있도록 AWS 지역에서 요청을 라우팅한다.
Zuul은 다른 Netfilx OSS components를 사용하여 부분적으로 많은 insight, flexibility, resiliency를 제공한다.
참조: Zuul Github