第四十七章 九析带你轻松完爆 Istio - Envoy 线程模型

网友投稿 353 2022-10-28

第四十七章 九析带你轻松完爆 Istio - Envoy 线程模型

系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 邀约

3 Envoy 线程模型

4 监听器连接负载均衡

1 前言

如果你对博客有任何疑问,请告诉我。

2 邀约

你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:

3 Envoy 线程模型

Envoy 是单进程内包含多线程的架构设计。单进程内部包含两种线程-主线程(master thread)和工作线程(worker thread)。主线程的作用是控制、协调任务;工作线程的作用是执行监听、过滤和转发。如下图所示:

Envoy 进程启动时会开启监听端口(listener),一旦监听器接受了客户端的连接,此连接的生命周期就会绑定到 Envoy 内的一个工作线程上。由此可知,Envoy 被设计成多个单线程并行,100% 无阻塞的模式。对于大多数工作负载,我们建议将工作线程的数量配置为等于计算机上硬件线程的数量。查看 Linux 操作系统最大进程数命令为:

sysctl kernel.pid_max 或 cat /proc/sys/kernel/pid_max

4 监听器连接负载均衡

默认情况下,Envoy 工作线程之间相互独立且并无联系,这意味着所有工作线程都独立尝试在监听器上接受连接,并依靠内核在线程之间做负载均衡。对于大多数工作负载,内核对这些连接的负载均衡处理会非常出色。但是,对于某些工作负载(例如,服务网格 HTTP2 / gRPC 出口),必须强制 Envoy 在工作线程和连接之间负载均衡,为了支持上述特性,Envoy 允许在其监听端口上针对连接设置不同种类的负载均衡策略。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SCSI(小型计算机系统接口)工作原理
下一篇:基于ARM的RFID中间件系统设计
相关文章

 发表评论

暂时没有评论,来抢沙发吧~