1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

时间:2020-12-17 15:12:26

相关推荐

实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

接上一篇:实战_22_Mycat设置开机自启/weixin_40816738/article/details/100086556

文章目录

一、高可用集群架构实现思路二、环境部署准备2.1. 环境部署总览2.2. 架构图总览2.3. 架构图解说明三、架构功能分析3.1. 场景案例分析3.2. 架构功能点分析3.3. 扩展功能能分析3.4. MyCat UI效果图3.5. Haproxy 监控页面

一、高可用集群架构实现思路

实现思路:

①MYCAT 作为数据库中间层,以逻辑库来操作后台物理库

②MYCAT集群之间数据同步,借助ZooKeeper集群来实现高可用

③MYCAT负载均衡,借助Haproxy来实现

④Haproxy高可用,借助Keepalived来实现

⑤订单表水平分库分表,数据库切分4片

⑥商品和客户数据垂直拆分,采用读写分离(基于主从复制)

二、环境部署准备

2.1. 环境部署总览

2.2. 架构图总览

2.3. 架构图解说明

1、MYSQL商品模块和客户模块采用数据库垂直在拆分,数据库对于大数量级别的数据进行分库分表操作。

举个栗子:订单模块进行水平扩展,分库分表,切分4片;商品模块和客户模块数据库进行主从复制,读写分离。

2、MYCAT采用集群部署,MYCAT集群之间借助ZK集群(3个节点)来实现配置文件数据同步和ZK高可用。

举个栗子:MYCAT集群之间配置文件信息同步,只需要修改ZK集群中的MyCat数据,就可以同步到MYCAT采用集群中,MYCAT不做任何操作。

3、HAProxy 实现了Mycat 多节点的集群高可用和负载均衡, 而 HAProxy 自身的高可用则可以通过Keepalived来实现

因此, HAProxy 主机上要同时安装 HAProxy 和 Keepalived, Keepalived 负责为该服务器抢占 vip(虚拟 ip,图中的 192.168.43.100),抢占到 vip 后,对该主机的访问可以通过原来的 ip(192.168.43.32)访问,也可以直接通过 vip(192.168.43.172)访问。

4、Keepalived 抢占 vip 有优先级, 在 keepalived.conf 配置中的 priority 属性权重决定。但是一般哪台主机上的 Keepalived服务先启动就会抢占到 vip,即使是 slave。

5、HAProxy 负责将对 vip 的请求分发到 Mycat 集群节点上, 起到负载均衡的作用。 同时 HAProxy 也能检测到 Mycat 是否存活, HAProxy 只会将请求转发到存活的 Mycat 上。

6、如果 Keepalived+HAProxy 高可用集群中的一台服务器宕机, 集群中另外一台服务器上的 Keepalived会立刻抢占 vip 并接管服务, 此时抢占了 vip 的 HAProxy 节点可以继续提供服务。

7、如果一台 Mycat 服务器宕机, HAPorxy 转发请求时不会转发到宕机的 Mycat 上,所以 Mycat 依然可用。

三、架构功能分析

当前架构,MYCAT已实现负载均衡,Haproxy高可用,MYSQL根据模块需求应用场景不同已实现符合需求的高可用。

3.1. 场景案例分析

3.2. 架构功能点分析

当前架构已实现的功能点:

①MYCAT 作为数据库中间层,以逻辑库来操作后台物理库

②MYCAT集群之间数据同步,借助ZooKeeper集群来实现高可用

③MYCAT负载均衡,借助Haproxy来实现

④Haproxy高可用,借助Keepalived来实现

⑤订单表水平分库分表,数据库切分4片

⑥商品和客户数据垂直拆分,采用读写分离(基于主从复制)

⑦当前架构已实现跨分片查询

1>字典类型 解决方案 全局表

2> 查询次数多 字段多 调用频繁 实现跨分片查询 解决方案 ER分片

3.3. 扩展功能能分析

①当前架构已实现跨全局自增ID,解决ID重复问题

②已实现SQL拦截

1>对于delete 没有where条件,会进行sql拦截

2>对于update和delete影响范围大的操作,会进行sql拦截

③SQL防火墙已经实现,可以指定服务器和用户访问MYCAT

MYCAT web监控后台已经集成,可以监控MYCAT ,MYSQL数据库,SQL语句等功能

3.4. MyCat UI效果图

3.5. Haproxy 监控页面

http://192.xxx.43.32:48800/admin-status

http://192.168.43.172:48800/admin-status

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。