MySQL配置Keepalived读写分离

### 1背景

在数据库一主多从架构中,若所有查询的流量都切入主节点,会造成服务器拥塞,因此需要将业务一致性要求不是特别高的应用的查询流量分散到从库,以实现负载均衡

keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouterRedundancyProtocol,即虚拟路由冗余协议

虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的

LVS负载均衡

* lvs是四层负载均衡,也就是说建立在OSI模型的第四层——传输层之上
* 传输层上有TCP/UDP,lvs支持TCP/UDP的负载均衡
* 因为LVS是四层负载均衡,因此它相对于其它高层负载均衡的解决办法,比如DNS域名轮流解析、应用层负载的调度、客户端的调度等,它的效率是非常高的
* * lvs的转发可以通过修改IP地址实现(NAT模式)
* lvs的转发还可以通过修改直接路由实现(DR模式)

因LVS缺乏后端状态检测,于是配合Keepalived使用会拥有不错的效果

### 2架构

LVS+Keepalived架构

DB

ip

备注

Master

10.243.95.3

keepalivedMaster

Slave1

10.243.95.4

keepalivedBackup

Slave2

10.243.95.5

**10.243.95.101**

读VIP

松果号 作者:松果号原创文章,如若转载,请注明出处:https://www.6480i.com/archives/103128.html

(0)
松果号松果号
上一篇 1天前
下一篇 1天前

推荐阅读

发表回复

登录后才能评论