【前言】

在智能云平台的上篇博文 《智能云平台(二十二):多租户方案比较Hibernate、EclipseLink、Mybatis+Mycat》中讲解了实

现多租户的一种方案是用MySql的中间件来实现;今天为大家分享一下MySQL中间件(在此以MyCat)高可用的方案;

【探索之路】

          一、云平台建库后Mycat识别的问题

为什么要用zookeeper当热更改的通知组件?zookeeper是分布式协调中间件,如有结点变动会通知到所有监听方,基

于此特性我们决定采用zookeeper来实现新建立租户后新给这个租户建立一套实例库。

          二、整个流程的高可用的实现

1、Mycat是如何使mysql实现高可用,架构图如下:

2、那mycat的本身高可用是如何做的那?

(1)可以利用Haprox对Mycat进行负载,架构图如下:

(2)那么如何保证Haproxy的高可用那?可以利用Keepalived来做,相应的架构图如下:

3、我的疑问

keepalived+nginx 实现高可用的时候Nginx监听的是自己的IP,但是Keepalived+HAproxy时HAproxy配置的是虚拟

的IP,这个疑问还需要在去看其实现原理。

4、一些经验:

(1)上面架构图的实现在Mycat的官网指南的PDF(MyCat官方指南)上写的十分详细;大家在实践的时候如果需

要直接从PDF上粘贴命令的时候需要留意空格,因为PDF上空格的格式和命令中不一致,如果命令执行出错检查可以删掉空格重

新用英文键盘输入空格。

(2)运行脚本,需要给当前用户分配执行脚本的权限。

【总结】

根据一条需求来理,比如在这个过程中理解HAproxy,Mycat的作用,先从mysql捯饬起来,理到它有什么痛点(比如mysq单点问题,读写分离如何让业务层无感知),然后新的技术方案出来后如何解决原有问题,会引入什么新的问题。

智能一代云平台(二十三):Mycat高可用的探索相关推荐

  1. 智能一代云平台(二十九):通用mapper的改造

    [前言] 最近研究一下Mybatis的通用mapper,然后对其进行了一些改造以适合我们的系统,接下来为大家分享一下我的研究思路以及研究成果. [研究之路]      一.ORM框架选型: 1.我们最 ...

  2. 智能一代云平台(三十):逆向工程生成mybatis

    [前言] 最近在研究mybatis逆向工程的一些东西:通过研究Mybatis+通用mapper.逆向工程生成mybatis.Hibernate+mybatis:最终综合这些优点实现了一个我们自己的逆向 ...

  3. 智能一代云平台(五):移动开发之环境搭建

    [前言] 谣传最近IT领域异常火热,而IT中的移动端领域更是如日中天. 做为一名程序猿的我,也不甘Out:于是雄心勃勃参加一个智能一代云平台移动端项目开发:之前有人做了第一版,现在我们需要重构. [基 ...

  4. 智能一代云平台(三十一):mybatis加入分页

    [前言] 在<智能一代云平台(三十):逆向工程生成mybatis>已经将mybatis的逆向工程搞定了:但是美中不足的是mybatis的分页查询:接下来一起来探索一下分页查询. [分页查询 ...

  5. Mycat高可用解决方案一(mysql安装)

    Mycat高可用解决方案一(mysql安装) Mycat关键特性 关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 ...

  6. Mycat关键特性,什么是MYCAT,MYCAT监控,版本架构,长期规划2.0,Mycat高可用方案

    1.Mycat关键特性 1.1.关键特性 • 支持SQL92标准 • 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 • 遵守Mysql原生协议 ...

  7. Mycat高可用集群搭建

    HaProxy+Keepalived+Mycat高可用集群配置 部署图: 集群部署图理解: 1.keepalived和haproxy必须装在同一台机器上(如192.168.46.161机器上,keep ...

  8. MySQL搭建主从复制 读写分离 分库分表 MyCat高可用

    主从演示 读写演示 分表演示 主从复制 环境的介绍 系统环境:centos7.0 客户端连接工具:xshell 远程文件传输工具:xftp 服务器: 192.168.126.138(主) 192.16 ...

  9. Redis数据库(二)——Redis高可用、持久化及性能管理

    Redis数据库(二)--Redis高可用.持久化及性能管理 一.Redis 高可用 主要的高可用技术 二.Redis 持久化 1.持久化的功能 2.两种持久化方式 3.RDB 和 AOF 的区别 ① ...

最新文章

  1. 69张图看懂Elon Musk的脑机接口芯片项目
  2. MySQL 性能优化,优化设计及设计原则解读
  3. Go进阶(9): For Range 性能研究
  4. day5-xml模块
  5. Knative 实战:基于阿里云 Kafka 实现消息推送
  6. 计组之存储系统:2、SRAM(区别、栅极电容、双稳态触发器、DRAM刷新、地址复用)和DRAM(MROM、PROM、EPROM、EEPROM)
  7. js基础--变量、数据类型、循环、判断、函数定义
  8. 操作系统概念学习笔记一 进程
  9. Windows Server 2003 安全指南
  10. dederss.php美国与,dedecms添加rss订阅功能实现代码
  11. 解决RHEL6 vncserver 启动 could not open default font 'fixed'错误.
  12. 使用Retryer优雅地实现对Callable各种各样的重试调用
  13. css 图片剪切object-fit属性
  14. 面向对象的系统分析(一)-系统分析方法
  15. 人民网:《百度公布博客服务商前十强 MSN博客超过本土博客》
  16. matlab打开界面模糊,matlab模糊逻辑(一)
  17. tengxunyun init容器安装skywalking 挺NB的
  18. Mac OS 10.12 - 如何能够像在Windows一样切换中英文输入法和大小写键?
  19. 打开SAP物料帐期和财务账期
  20. 使用scrapy创建一个项目爬取网易云音乐的所有歌手的相关资料

热门文章

  1. 当我们在谈论单测时我们在谈论什么
  2. 恭喜你,2018 中国开发者有奖大调查“榜上有名”!
  3. 百度回应“宕机”;微信 5 年内出 VR 版?腾讯破解谷歌漏洞 | 极客头条
  4. 程序员不加班你还想干嘛?
  5. java 知乎面试题_2019最新Java面试题,常见面试题及答案汇总(208道)
  6. pytorch调用不了多个gpu_pytorch利用多个GPU并行计算
  7. Unicode 与 UTF-8 之间的转换
  8. verilog 生成块_Verilog数字系统设计教程之学习摘要
  9. crbug/1173575, non-JS module files deprecated.
  10. Vue3 + cli4 配置路由