企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 热重启 易用性是Envoy的主要设计目标之一。除了强大的统计数据和本地管理界面之外,Envoy还具有“热”或“实时”重启的能力。这意味着Envoy可以完全重新加载自己(代码和配置)而不会丢失任何连接。热重启功能具有以下通用架构: - 统计和一些锁保存在共享内存区域。这意味着在重启过程中,资源将在两个进程中保持一致。 - 两个活动进程使用基本的RPC协议通过unix域套接字相互通信。 - 新进程完全初始化自己(加载配置,执行初始服务发现和健康检查阶段等),然后再向旧进程请求监听套接字的副本。新流程开始监听,然后告诉旧流程开始退出。 - 在退出阶段,旧的进程试图正常关闭现有的连接。如何完成取决于配置的过滤器。退出时间可通过 `--drain-time-s` 选型进行配置,并且随着退出时间的增加,退出更加积极。 - 退出顺序后,新的Envoy进程告诉旧的Envoy进程关闭自己。这一次可以通过 `--parent-shutdown-time-s` 选项来配置。 - Envoy的热重启支持被设计成,即使新的Envoy进程和旧的特使进程在不同的容器内运行,它也能正常工作。进程之间的通信仅使用unix域套接字进行。 - 源代码发行版中包含以Python编写的示例[重启/父进程]()。这个父进程可用于标准的进程控制工具,如[monit/runit/]()等。 ### 返回 - [架构介绍](../Architectureoverview.md) - [简介](../../Introduction.md) - [首页目录](../../README.md)