一、 架构:orchestrator+consul+consul-template+haproxy+keeplived
orchestrator 是MySQL高可用性和复制管理工具。
本章节侧重点在安装及常见操作,不对工作原理过得介绍。关于原理性的文档网上很多。github:https://github.com/github/orchestrator
1、orchestrator部署及操作
2、consul&consul-template
3、haproxy
4、keeplived
5、各组件优化
6、钩子脚本处理
问题:
- 1.orchestrator集成的consul-client只上报数据master的变更信息,对slave的信息不更新上报至consul
- 2.当slave节点 故障是I/o、sql线程为no使对应的haproxy并不下线已经为故障的slave节点
- 3、如果在读写分离的时候,在haproxy配置的读端口下.不希望master提供服务
- 4、当master发生切换后,如果旧的master节点宕机之后重启后,如果haproxy相对应的配置没有被更改,就master可能会被haproxy检测到并提供服务.
针对以上问题,通过脚本来通过钩子或结合监控\定时任务来完成consul-template和haproxy的配置信息(haproxy的权重)的更改,并重新reloadhaproxy.
脚本地址:https://github.com/goldbridge18/orchestrator-script
两张架构图:
- 官方文档:
来自wepay的分享文章
wepay-用的-mysql-架構/
二、架构:orchestrator+ProxySQL
三、架构:orchestrator+ProxySQL + consul-template + Consul (client mode)
持续更新…