阿里云ECS服务器下的Mycat高可用方案介绍与实战

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25868207/article/details/83651535

前言

最近在做系统架构升级,其中之一是让mycat集群化,达到高可用的目的,不然单点故障这把达克摩斯之剑悬在头顶,晚上都睡不安稳。

以下为调研的几套方案。

方案分析

HaProxy+Keepalived

这套方案是mycat官方推荐的方案。

构造虚拟ip,keepalived抢占ip,对应的HaProxy提供服务;看起来很美,但是阿里云不支持浮动ip。我们否决了此方案。

SLB

有个哥们踩到了阿里云SLB的坑
参考:https://www.jianshu.com/p/4c4641d4a566

Mycat-Balance

据说是早期mycat旗下的组件,但缺少维护人员,不久就荒废了。我们否决了此方案。

自定义一套软负载中间件

这个方案比较耗时间,而且需要经过严格的测试才能投入生产环境,但现在恰恰缺的就是时间。我们否决了此方案。

Mycat 2.0

这是mycat新开放的版本,处于测试阶段,对于稳定性我们尚有疑虑。我们否决了此方案。

基于MySql Connector/J java连接器的LoadBalancing协议,进行负载均衡

这是mysql的连接协议,具有失效重连功能。最终我们选定了此方案。

注:低版本jar包不支持此协议,我这里用的是:mysql-connector-java-5.1.41.jar

格式:

jdbc:mysql:loadbalance://192.168.48.128:8066,192.168.48.129:8066/market_activity?useUnicode=true&characterEncoding=utf-8&zerodatetimebehavior=converttonull&allowMultiQueries=true

参考:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-j2ee-concepts-managing-load-balanced-connections.html

猜你喜欢

转载自blog.csdn.net/qq_25868207/article/details/83651535