Envoy:ServiceMesh中的数据面板与关键组件详解
45 浏览量
更新于2024-08-27
收藏 281KB PDF 举报
ServiceMesh是一种新兴的微服务架构解决方案,通过在每个服务实例旁边部署轻量级的sidecar代理(如Envoy),增强了服务之间的通信管理和网络控制。Envoy作为一个开源的、高性能的sidecar代理,扮演着关键角色,它负责管理服务到服务的请求路由、负载均衡、服务发现、健康检查以及安全策略执行等任务。
在ServiceMesh架构中,每个服务都被视为一个独立的Host,能够接收来自下游(Downstream)请求的节点。这些请求通常来自于应用程序内部,而Envoy作为Upstream的代理,负责监听(Listener)这些请求,并将它们转发到正确的Cluster,即服务提供方的集合。集群内的服务成员由服务发现机制动态管理,并通过负载均衡算法决定哪个服务实例处理特定请求。
Envoy的核心设计包括动态的Runtime configuration,允许实时修改配置而不影响服务的运行,提高了灵活性。它还支持Filter系统,这是一种插件式的设计,使得开发者可以根据需求添加自定义的处理逻辑,扩展Envoy的功能。
Envoy的实现采用了单进程多线程模型,一个主线程负责协调工作,多个工作线程负责处理实际的网络连接。这种模式使得Envoy能够高效地处理并发请求,且通常是非阻塞的,提高性能。每个工作线程负责连接的全程管理,从连接建立到关闭,确保了请求的完整性和可靠性。
总结来说,Envoy在ServiceMesh中充当了基础设施层的角色,通过智能的代理机制,简化了服务间的通信,提升了系统的可扩展性、可靠性和安全性。理解并掌握Envoy的工作原理和架构,对于构建和维护高效的ServiceMesh至关重要。
2018-12-09 上传
2019-08-14 上传
点击了解资源详情
2021-02-11 上传
2021-01-30 上传
2022-08-04 上传
2021-07-24 上传
2021-05-11 上传
2020-09-30 上传
weixin_38678796
- 粉丝: 4
- 资源: 932
最新资源
- 淘淘商城源码-Java代码类资源
- mybatis - Springboot+Mybatis+MySql搭建实例.zip
- 商务团队背景的商务幻灯片下载PPT模板
- Python库 | VizKG-0.0.3-py3-none-any.whl
- 直方图修改:代码执行直方图修改-matlab开发
- Android-project-FishPond:ZJU中的Android课程,这是名为FishPond的最终项目,这是一个适合时间大师的应用
- mm-screen:马克·米纳维尼(Mark Minervini)在“像股票向导一样交易”一书中描述的股票筛选器,用于识别超级绩效股票
- POO-2021
- SergioHPassos.github.io
- Quarantine-Friends:编码Dojo小组项目
- code-red:可视化代码 RED
- EpigenomicsTask_MscOmics
- VK-DMR:VK DMR文件
- kiwi:简约的内存键值存储
- Trex-Game-2:有游戏结束条件
- Python库 | vizex-2.0.4-py3-none-any.whl