-
Notifications
You must be signed in to change notification settings - Fork 479
[开发]集群管理
zwyqz edited this page Dec 24, 2020
·
2 revisions
完成集群名字到数据源名字的映射
根据集群名字找到对应的数据源列表,剔除不可用,存在延迟的数据源,然后使用负载均衡算法选择
使用定时器触发心跳,即发送SQL查询到数据源指向的数据库,如果返回响应正确,就认为数据源可用
数据库的元信息,里面会带有主从、进程的状态.Mycat会使用数据库发送sql查询获取这些信息,然后进行判断,一旦检测到binlog的延迟大于某个阈值,就把这个从节点的状态设置成延迟,后续的负载均衡算法就不能选择他们.直到定时器检查到延迟正常,就把它恢复
如果集群中的主节点挂了,则触发主从切换,根据集群的类型(单一节点,主从节点,多主)中把可选的主节点变成主节点,剔除不可用的主节点,然后记录日志,通知Mycat集群.
定时器会检查所有的数据源,无论他们是否正常,如果它们是有延迟问题,或者不可用,定时器都会不断的进行检查,如果主从的延迟恢复正常,则恢复可读,如果数据源正常,则设置为可用.