线程模型

Envoy 使用单进程 - 多线程的架构模型。一个 master 线程管理各种琐碎的任务,而一些 worker 线程则负责执行监听、过滤和转发。当监听器接收到一个连接请求时,该连接将其生命周期绑定到一个单独的 worker 线程。这使得 Envoy 主要使用大量单线程( embarrassingly parallel )处理工作,并且只有少量的复杂代码用于实现 worker 线程之间的协调工作。通常情况下,Envoy 实现了100%的非阻塞。对于大多数工作负载,我们建议将 worker 线程数配置为物理机器的线程数。