Mysql发生宕机的时候,主从机器不会自动切换,需要高可用框架对数据库主从进行管理。
高可用套件
负责数据库的FailOver操作,当数据库发生宕机的时候,可以自动剔除故障机,选出新的主机,继续提供服务,保证业务的连续性。
VIP技术
vip即虚拟ip,可以随意绑定在任何一台服务器上,业务通过VIP访问后台的数据库,数据库发生宕机的时候,高可用套件会把VIP插拔到新的服务器上,对业务透明。
缺点需要后端的数据库物理服务器属于同一个网段。
DNS方式
对于跨机房的数据库多机房的方案,可以采用域名方式访问数据库,当发生failover时候,可以通过更改域名对应的ip来实现方案。
缺点:普通的dns服务可能因为缓存原因导致切换不够及时。
MHA方案
MHA(Master High Availability)是一款开源的 MySQL 高可用程序,它为 MySQL 数据库主从复制架构提供了 automating master failover 的功能。
开源地址为:https://github.com/yoshinorim/mha4mysql-manager
分为Manger和Node节点,Manger负责总控,判断Mysql高可用组是否可用,当发生宕机的时候,发起failover操作,Manger和Node之间通过ssh交互,性能不高,适合不超过20台的Mysql集群。
Orchestrator
Orchestrator 可以看做MHA升级版本,是另一款开源的 MySQL 高可用套件,除了支持 failover 的切换,还可通过Orchestrator 完成 MySQL 数据库的一些简单的复制管理操作。Orchestrator 的开源地址为:https://github.com/openark/orchestrator
原理将元数据信息存储在元数据库中,提供HTTP接口和命令访问方式,控制节点和下面的Node节点通过ssh方式,也只是适用小集群。
Cetus
网易开源的c语言开发的数据库中间件,开源地址:https://gitee.com/wangbin579/cetus
有读写分离版本,和分库版本
支持:
- 读写分离
- 分库
- SQL 解析
- 连接池
- 管理功能
网友评论