前面我们是用一个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中间件,这个操作又变复杂了,所以我们需要一个负载均衡的方案来解决它。