前面我们是用一个mycat对应两个mysql集群,参考:https://www.cnblogs.com/zwh0910/p/17278041.html

但是在高并发的情况下,我们的系统也会出现性能的问题,显然是mycat,即所有的压力都压倒mycat上面,所以需要给mycat做集群。

mycat做了数据库的代理,在高并发的情况下,必然也会面临单节点性能问题,所以需要部署多个mycat节点。

架构:

之前只有一个mycat中间件,现在有两个mycat中间件,压力得到分摊,现在来部署多个mycat

1、将mycat01复制一份到mycat02

cp mycat01 mycat02 -R

进入mycat02

cd mycat02

由于在一台机器上启动两个mycat,故需要设置jmx端口,如果两个mycat在不同的机器,是没有必要修改端口的。

进入conf目录

cd conf

编辑wrapper.conf

vim wrapper.conf

将默认的端口1984修改为1985

wrapper.java.additional.6=-Dcom.sun.management.jmxremote.port=1985

保存退出

编辑server.xml

vim server.xml

设置服务端口serverPort8066为8067以及管理端口managePort9066为9067

<property name="serverPort">8067</property> 
<property name="managerPort">9067</property> 

云服务器要放开8067端口

保存退出

关闭mycat,再重新启动。

再启动另外一个mycat01

cd /usr/local/mycat/mycat01/bin

启动命令

./mycat console
./startup_nowrap.sh

使用navicat分别连接两个mycat

 

由于mycat01和mycat02对接的都是相同的两个mysql集群,故mycat02的数据和mycat01的数据是一样的。

此时,多节点的 mycat搭建完成。

这个架构已经实现了多个mycat集群,故保障了mycat的性能和可靠性,但是此时我们的应用程序要对接到两个mycat中间件,这个操作又变复杂了,所以我们需要一个负载均衡的方案来解决它。

 

posted on 2023-04-01 17:15  周文豪  阅读(146)  评论(0编辑  收藏  举报