💊 Anycast 健康检查
注意
该组件不独立部署,而是作为服务模块运行在具有 Anycast IP 地址的 Load Proxy 服务器中,这些 IP 地址会通过 BGP 对等体进行宣告。
部分 Load Proxy 节点配置了 Anycast IP 地址,作为边缘流量的全局入口点。
这些节点使用 BIRD(动态路由守护进程)与上游边界路由器建立 BGP 会话,并宣告其分配的 Anycast 前缀。
为提高可用性和路由精确性,EdgeHit 集成了由 Google 开发的开源 anycast-healthchecker 模块。
🔧 功能特性
- 定期检查本地服务健康状态(核心是 NGINX 进程)
- 当监测到进程故障(如 NGINX 无响应)时:
- 通知 BIRD 撤销 BGP 路由宣告,避免流量继续路由到故障节点
- 检测到服务恢复后,重新宣告前缀,使节点重新加入 Anycast 池
🧠 该机制实现自愈式 Anycast 故障转移,确保流量仅路由至健康可用节点
📦 核心组件
bird— 处理路由宣告的 BGP 守护进程anycast-healthchecker— 基于 Python 的服务健康监测模块,与 BIRD 交互