-
Notifications
You must be signed in to change notification settings - Fork 716
Zebra路由设计
junior_xin edited this page Dec 6, 2018
·
5 revisions
路由首先会选择本区域的读库,本区域内:
- 按流量权重路由 会根据优先级选择对应中心内所有读库按权重路由,未开启则整个区域内按权重路由
- 按机房路由,路由顺序如下:
a. 选择同机房的读库,按流量权重路由
b. 选择同中心其他读库,按流量权重路由
c. 按优先级选择其他机房内读库,按流量权重路由
d.选择非中心的读库,按流量权重路由
- GroupDataSource在初始化时会根据是否为remote从zk或本地读取配置初始化RegionManager及Router
- RegionManager用于查询Region、center和idc
- RegionAwareRouter内包含多个CenterAwareRouter,每个CenterAwareRouter对应一个region
- CenterAwareRouter包含一个DataSourceRouter和多个WeightRouter,DataSourceRouter用于路由同中心内的库,WeightRouterList根据优先级查找其他中心的库