百度开源网关BFE源代码阅读2之路由
💡
原文中文,约8300字,阅读约需20分钟。
📝
内容提要
本文深入探讨了BFE的路由部分,介绍了配置路由的目录和加载配置文件的映射关系。集群内部的路由通过负载均衡算法分发流量到后端。
🎯
关键要点
- 本文深入探讨了BFE的路由部分,介绍了配置路由的目录和加载配置文件的映射关系。
- BFE的路由规则相对其他产品有些反直觉,需要通过代码理解。
- 配置路由的目录包括server_data_conf和cluster_conf。
- 加载server_data_conf目录下的配置文件,创建Transport对象,配置balTable。
- LoadServerDataConf函数用于加载Hostname到HostTag的映射,以及负载均衡相关配置。
- host_rule.data、vip_rule.data和route_rule.data文件定义了多个映射关系。
- 通过构造前缀树,可以快速找到对应的Product和HostTag。
- cluster_conf.data文件定义了集群的相关配置,包括超时和健康检查等。
- srv.balTable.Init函数用于初始化集群内部的路由和流量分发。
- gslb.data和cluster_table.data文件定义了子集群和后端的配置及权重。
- 本文总结了BFE路由的整体结构和流量分发的示意图。
➡️