linux cpu占用率如何看
255
2022-10-28
第四十四章 九析带你轻松完爆 Istio - Envoy 介绍
系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程
目录
1 前言
2 邀约
3 Envoy 介绍
4 Envoy 特性
4.1 自包含
4.2 C++ 11 代码库
4.3 L3 / L4 过滤器体系架构
4.4 HTTP L7 过滤器体系架构
4.5 HTTP / 2 支持
4.6 MongoDB & DynamoDB L7 支持
1 前言
如果你对博客有任何疑问,请告诉我。
2 邀约
你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:
3 Envoy 介绍
Envoy 是类似 Nginx 的网络边缘代理工具,是专为大型现代微服务架构而设计的。
下图是 Nginx 使用场景:
上图中,Nginx 作为边缘代理,是整个网络流量的入口。通过配置 Nginx,可将访问者请求路由到后端 Server 内的 Service 进行处理。但是问题来了,如果我们想控制 Service A 和 Service B 之间的流量就没有办法了,因为它们之间并没有任何边缘代理。
下图是 Envoy 使用场景:
上图中,Envoy 不但作为边缘代理(类似 Nginx)是整个网络流量的入口,同时也可以作为服务(service)代理。这样的网络拓补结构不但可以设置访问者路由规则,也可以设置 service A 与 Service B 之间的路由规则。因此,这样就可以全方位控制微服务内部到内部、外部到内部的所有网络流量,而上图中 Nginx 仅仅控制由外到内的网络流量。
4 Envoy 特性
4.1 自包含
Envoy 是自包含的设计,它和应用服务器各自独立运行,并不对服务器内的应用进行侵入。这样设计的好处在于可以支持任何语言、任何框架所编写的微服务。此外,正因为自包含、无侵入的设计可以使得升级或部署更透明和高效
4.2 C++ 11 代码库
Envoy 是基于 C++ 11 代码库进行编写的,因为 C++ 11 跟其他编程语言相比,既提供了出色的性能,又大大提高了开发人员的生产力。
4.3 L3 / L4 过滤器体系架构
Envoy 的设计采用过滤器的体系架构。它通过原生或者自定义的过滤器来执行不同的 TCP 代理任务。已经提供的原生过滤器包括原始 TCP 代理、HTTP 代理、TLS 客户端证书认证等。
4.4 HTTP L7 过滤器体系架构
Envoy 除了在 L3、L4 提供过滤器外,还在 L7 提供了 HTTP 过滤器,可以提供诸如缓冲、速率限制、路由/转发等功能。
4.5 HTTP / 2 支持
在 HTTP 模式下运行时,Envoy 支持 HTTP / 1.1 和 HTTP / 2。这就意味着可以桥接 HTTP / 1.1 和 HTTP / 2 客户端与目标服务器的任何组合。
4.6 MongoDB & DynamoDB L7 支持
Envoy 支持 MongoDB 和 DynamoDB 连接的 L7 嗅探和统计信息生成。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~