百度开源网关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路由的整体结构和流量分发的示意图。
➡️

继续阅读