您当前的位置是:  首页 > 新闻 > 国际 >
 首页 > 新闻 > 国际 >

Netflix开源用来服务1.25亿会员的云网关Zuul 2

2018-05-28 13:44:16   作者:   来源:CTI论坛   评论:0  点击:


  Netflix提到,Zuul的功能相当於在过滤器设置的逻辑。Netflix将Zuul 2不只使用在所有外部流量进入Netflix云端服务的入口,而同时也用於路由内部流量。
       图片来源网络
  Netflix宣布开源其云网关Zuul 2,Netflix称它为前门,所有流量请求必会经过该服务。Zuul 2作为Netflix最重要的基础建设之一,现在Netflix内部运行超过80个Zuul 2丛集,向后端百项服务每秒发送一百万次的请求,以服务1.25亿会员的需求。
  Zuul 2中,过滤器的前端与后端都设置了Netty处理程序,用来负责处理网络协定、网页服务器、连接管理以及代理工作。Netflix提到,Zuul的功能相当於在过滤器设置的逻辑。Netflix将Zuul 2不只使用在所有外部流量进入Netflix云端服务的入口,而同时也用於路由内部流量。
  负责处理入站流量的过滤器用於验证、路由以及修饰请求。而端点过滤器用於回传静态回应以及代理后端服务的请求。而出站流量的过滤器则用於压缩、指标或是新增删除自订义标头等内容。
  目前Zuul 2开源的核心功能包括HTTP/2与TLS服务器协定。在灵活性功能方面,适应性重试功能(Adaptive Retries),是Netflix用来增加服务可用性以及灵活性的核心重试逻辑。后端服务并行保护功能,则可用来配置并行限制以避免后端服务过载。
  另外,在运作的功能上,除了提供Request Passport以追踪每一个请求的生命周期事件外,状态类别(Status Categories)可以列举请求的所有可能成功或失败的状态,而Request Attempts用於追踪代理状态,这个功能对於除错重试以及路由特别有用。
  还有一些功能这次未来得及开源,但将依计画不久后释出,其中包括Websocket/SSE,以及流量控管功能,防止来自恶意客户端的DDoS攻击,而Brownout filters则能禁用特定CPU资源密集的应用,以防止Zuul过载。最后,可配置路由提供使用者以档案设定路由规则。
  有几项Zuul 2功能尚未开源,但是在Netflix内部服务是很重要的应用,供欲使用Zuul 2的企业参考。Netflix提到,合作夥伴最常使用的功能就是自助路由(Self Service Routing),他们为用户提供应用程式与API,根据请求的URL、路径、查询参数或是标头等资讯创建路由规则,并将这些规则发布到各Zuul实体中。
  另一个重要的功能便是灵活的负载平衡,Netflix致力於使负载平衡智慧化,当数量庞大的节点中,出现故障或是缓慢的节点,他们的演算法会自动绕过这些问题,维持服务的可用性以及品质。
  由於Netflix的弹性架构,允许任何人都可以启动容器丛集并置於Zuul之后,因此Netflix发现,他们需要一个自动检测并查明后端错误的服务。透过Mantis即时事件串流,他们建立了异场☆态侦测,以汇总每项服务的错误率,并在服务出现问题时主动发出通知。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题