HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:011813

评论

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

WorkPlus AI智能客服解决方案,提升企业服务质量

WorkPlus

这一年我们上线的运维自动化系统

37丫37

DevOps 运维 自动化 工具 开发.

Footprint 的卓越资金流数据揭示加密货币的神秘叙事

Footprint Analytics

区块链 数据分析 加密货币

Python 变量?对象?引用?赋值?一个例子解释清楚

EquatorCoco

Python 前端 变量 对象 开发语言

万字图解 | 深入揭秘Linux 接收网络数据包

云舒编程

数据包 中断 网卡 linux\ ringbuffer

万字图解 | 深入揭秘HTTP工作原理

云舒编程

多路复用 HTTP web socket QUIC 图解网络

TCP close_wait 引发的血案

云舒编程

TCP 压测 Wait 连接池

《幻兽帕鲁》爆火,大厂坐不住了:这游戏是 AI 设计的?丨 RTE 开发者日报 Vol.134

声网

【精品教程】如何查看iOS崩溃日志

雪奈椰子

如何使用 NFTScan API 检索 NFT 合约地址下 Transactions 数据

NFT Research

API NFT\ NFTScan

日志资源成本减少35%:新东方可观测体系改造如何降本增效?

TakinTalks稳定性社区

左耳听风 - 研发效率「读书打卡 day 16」

Java 工程师蔡姬

读书笔记 程序员 个人成长 研发效率 职业发现

软件测试学习笔记丨JMeter使用代理录制脚本

测试人

软件测试

实力认可!TDengine 在“2023 年度金猿季”两大榜单中脱颖而出

TDengine

tdengine 时序数据库

原来阿里字节员工简历长这样

云舒编程

简历模板 简历 应届生 大厂面试】 #面试

1688店铺详情数据接口python

tbapi

1688 1688API 1688店铺详情数据接口 1688店铺详情数据采集

如何让你的.NET WebAPI程序支持HTTP3?

不在线第一只蜗牛

Web 开发语言 http3 .NET 7

MySQL并发插入导致死锁

云舒编程

MySQL 并发 死锁

近6成金融机构的选择!华为云GaussDB加快金融核心系统转型

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

万字图解| 深入揭秘IO多路复用

云舒编程

异步 epoll select poll I/O 多路复用

有了这张微积分知识地图,你可能会爱上高数!

博文视点Broadview

新书上线 | 《使用 NGINX 部署和保护 Kubernetes Ingress Controller》中文版

NGINX开源社区

nginx Kubernetes API NGINX Ingress Controller NGINX Service Mesh

英特尔实现3D先进封装技术的大规模量产

E科讯

大数据处理流程包括哪些环节

悦数图数据库

大数据处理流程

解决跨域问题的8种方法,含网关、Nginx和SpringBoot~

王磊

Java 面试题

图像处理-Java-指定大小压缩

alexgaoyh

Java 图像处理 图像压缩 压缩算法 指定大小

软件测试学习笔记丨Grafana安装

测试人

软件测试

万字图解 | 深入揭秘TCP工作原理

云舒编程

三次握手 TCP协议 TCP四次挥手 MSL 滑动窗口

程序员手把手教你参与开源!拿捏!

快乐非自愿限量之名

开源 程序员 面试

支撑核心系统分布式改造,GaussDB为江南农商银行筑稳根基

华为云开发者联盟

数据库 分布式数据库 后端 华为云 华为云开发者联盟

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