写点什么

Netflix API 网关 Zuul 如何做到每秒处理两百万请求

  • 2019-09-10
  • 本文字数:2148 字

    阅读完需:约 7 分钟

Netflix API网关Zuul如何做到每秒处理两百万请求

ArchSummit北京2018大会上,Susheel Aroskar 讲师做了《Netflix API 网关 Zuul 如何做到每秒处理两百万请求》主题演讲,主要内容如下。


演讲简介


Zuul - Netflix API Gateway that handles 2M requests per second


How do we effectively route 2M requests per second to hundreds of backend services? How do we protect those backend services from constant DDoS attacks and retry storms? How do we keep Netflix humming along when an Amazon Web Services outage takes an entire AWS region out?


Meet Zuul - Netflix’s swiss army knife for application networking. Zuul is Netflix’s API gateway, load balancer, reverse proxy and more. It fronts all of the API traffic entering Netflix cloud and routes it to many backend services. It shields these backend services from retry storms, DDoS attacks and other outages shifting traffic across AWS regions, if necessary. It load balances millions of requests per second across thousands of machines, routing them intelligently and automatically around faulty instances.


In addition to this mission critical role in live production, Zuul is also invaluable during development and test to debug, canary and load test new features. Zuul lets us define new routing rules dynamically at run time that take effect near instantly without any deployments or restarts. This capability to slice, dice and change route for a portion of traffic quickly lets Zuul do all sort of tricks like canary / load testing, surgical traffic debugging for a single customer / device, black-holing malicious traffic etc.


At its heart, Zuul is a high performance, non blocking reverse proxy and layer 7 load balancer built on top of Netty. It supports multiple protocols including HTTP 1.0, HTTP 1.1, HTTP/2, WebSockets and Server Sent Events. It also offers flexible, configurable transport layer security including TLS, mTLS and application layer security like Netflix specific security protocols like MSL.


We will cover:


  • Zuul concept - where Zuul fits in overall Netflix architecture.

  • Zuul design - Architecture of Zuul and its fundamental components.

  • Zuul operation - How we operate 80+ Zuul clusters to proxy traffic to hundreds of backends

  • Zuul future - where are we going next with Zuul


参考译文


我们是如何有效的在每秒中向数百个后端服务发送请求的?我们又是如何保护这些后端服务免受持续的 DDoS 攻击和重试风暴?当 AWS 服务中断时,我们如何保持 Netflix 正常运作。


Zuul——被称为 Netflix 应用网络的瑞士军刀,它是 Netflix 的 API 网关,负载均衡器,反向代理等等。它掌控着 Netflix 云的所有 API 流量,并将这些流量分发到多个后端服务上。必要时,它可以保护这些后端服务免受重试风暴,DDoS 攻击以及其他服务中断在 AWS 区域之间转移流量带来的影响。它可以在数千台计算机上平衡每秒数百万个请求,并在故障实例周围智能的调度资源。


不仅在处理在线业务的过程中发挥关键作用,Zuul 在开发和测试过程中也非常有价值,可用于调试、测试、加载测试新功能。Zuul 支持在运行时动态定义新的分发规则,这些规则可以在无需任何部署或重新启动的情况下即时生效。这种切片,切块和更改部分流量分发的功能可以让 Zuul 执行各种任务,如为单个客户/设备、黑洞恶意流量做 Canary(金丝雀部署)/负载测试,以及外科式流量调试。


从本质上讲,Zuul 构建于 Netty 之上,是一个高性能,无阻塞的反向代理和 7 层负载均衡器。它支持多种协议,包括 HTTP 1.0,HTTP 1.1,HTTP / 2,WebSockets 和 Server Sent Events。还提供灵活可配置的传输层安全性,包括 TLS,mTLS 和应用层安全性,如 Netflix 特定的安全协议 MSL。


演讲提纲


  • Zuul 概念 - Zuul 适合整体 Netflix 的架构

  • Zuul 设计 - Zuul 架构及其基本组成部分

  • Zuul 运维 - 我们如何运维 80 多个 Zuul 集群来代理数百个后端的流量

  • Zuul 未来 - Zuul 的下一步打算


讲师介绍


Susheel Aroskar


Netflix Senior Software Engineer


Susheel works as a senior software engineer on the Cloud Gateway team at Netflix, which develops and operates Zuul - an API gateway that fronts all of the Netflix cloud traffic and handles more than 100 billion requests a day. Prior to Zuul, Susheel worked on Netflix CDN’s control plane in the cloud, which is responsible for steering more than a third of all North American peak evening internet traffic.


He joined Netflix just as Netflix was taking its first steps towards migrating from datacenter to cloud and he still has scars from those early days to prove it. He lives in California with his wife and daughter, both of whom find her dad jokes intolerable.












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2018/beijing/schedule


2019-09-10 14:011916

评论

发布
暂无评论
发现更多内容

Tomcat目录结构,java基础教程第三版

Java 程序员 后端

vivo官网商城开发团队:同城双活与异地多活架构分析,java面试问项目流程

Java 程序员 后端

Zookeeper(从7个方面来了解Zookeeper基础概念),java新技术网站

Java 程序员 后端

SSM框架整合过程总结,书籍+视频+学习笔记+技能提升资源库

Java 程序员 后端

XML简介,kafka教程尚谷

Java 程序员 后端

Web开发基础:JavaScript常用类、面向对象和BOM,java中锁的实现原理

Java 程序员 后端

“996”为什么还没实行(1),java零基础教程视频

Java 程序员 后端

“996”为什么还没实行,mybatis从入门到精通电子书

Java 程序员 后端

「Java」几种典型的内存溢出案例,linux视频教程迅雷下载

Java 程序员 后端

「Java」手把手理解CAS实现原理,学习linux编程

Java 程序员 后端

《黑马程序员》通讯录管理系统实战,终于搞明白了

Java 程序员 后端

「并发原理专题」AQS的技术体系之CLH,java基础重点知识点

Java 程序员 后端

【95 后 Java 程序员的大厂梦】三年开发经验,springboot开源项目讲解

Java 程序员 后端

this与super关键字(阿里巴巴面试竟然问道这个了…,ubuntulinux操作系统实用教程

Java 程序员 后端

ThreadLocal内存泄漏分析与解决方案,java语言程序设计基础篇答案第六章

Java 程序员 后端

uniapp props、$ref、$emit,如何保证高可用

Java 程序员 后端

YYDS,瞬间秒杀全网,这套Java面试笔记可以解决90,kafka基础架构消费模式

Java 程序员 后端

Zookeeper系列-我保证!样样聚到!没有一句废话,今日头条面试经历

Java 程序员 后端

String的内存分配与拼接操作,mysql数据库教程课后题答案

Java 程序员 后端

VBA常用语法,操作系统原理与linux实践教程申丰山

Java 程序员 后端

Zookeeper原理篇-Zookeeper启动流程分析,从底层开始带你了解并发编程

Java 程序员 后端

tomcat优化——并发和Tomcat线程数,mysql集群原理详解

Java 程序员 后端

VIVO一面竟然翻车,含泪整理了这些Java面经,看完我悟了

Java 程序员 后端

volatile 和原子类的异同,画个图理解一下,面试官让我下周来上班

Java 程序员 后端

【 大厂必考之JVM】01,kafka原理和面试笔试题目

Java 程序员 后端

super与this在成员变量,成员方法,构造方法方面的作用

Java 程序员 后端

《零基础》MySQL 连接的使用(二十),开发多年HashMap原理不知道

Java 程序员 后端

synchronized 中的 4 个优化,你知道几个?,rocketmq教程教程

Java 程序员 后端

《重构 改善既有代码的设计 3》代码的可理解性应该是我们虔诚追求的目标

Java 程序员 后端

《项目开发团队分配管理软件》,nginx面试题阿里

Java 程序员 后端

「源码解析」 消息队列Kombu基本架构综述,透过根源从而探究红黑树的本质

Java 程序员 后端

Netflix API网关Zuul如何做到每秒处理两百万请求_ArchSummit_Susheel Aroskar_InfoQ精选文章