最终模型:

  1. 将Kp1 + Kp2 分别和Ha1和Ha2部署在一起,同时绑定VIP ip,对外提供访问,同时监控本机的Haproxy的可用性

  2. 通过Ha1 + Ha2 为PXC提供负载均衡,分发请求到后端某台PXC,同时检测后端的PXC数据库可用性

  3. PXC 多主复制提供读写能力

Haproxy 反向代理

工作在7层模型上,可以分析数据包中的应用层协议,并按规则进行负载

默认使用 tcp 协议

haproxy 可以通过一个统一的端口对外提供服务,然后内部进行分发。

程序进行访问时,不再访问具体的MySQL,而是访问haproxy服务器的ip及端口。

Haproxy 接收到请求时,根据相应的策略进行转发。有轮询、加权、随机等等

同时还根据具体时间间隔对后端服务进行有效性检测,当MySQL集群有哪一台机器不再工作了,则会将其从可用列表中踢出,然后不再转发请求到该节点

Keepalived
  • 对 realserver 进行健康状况检查,对4、5、7层进行健康检查
  • 对负载均衡调度器实现高可用,防止单点故障

Keepalived 实现故障转移的功能是通过 VRRP 协议。在Keepalived正常工作时,master会不断发送心跳信息给backup。当backup一段时间收不到master的心跳信息,就会认为master宕了,会接管master的请求,继续对外提供服务。当master恢复,backup会自动让出资源给master,再次成为backup。

这里Keepalived 用来保障 Haproxy 高可用,避免单点故障

Keepalived + Haproxy + PXC 理论篇的更多相关文章

  1. Keepalived + HAProxy 搭建【第二篇】Keepalived 安装与配置

    第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...

  2. Keepalived + HAProxy 搭建【第二篇】Keepalived 的安装与配置

    第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...

  3. MySQL架构之keepalived+haproxy+mysql 实现MHA中slave集群负载均衡的高可用(原创)

    MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC. HAProxy是一款 ...

  4. CentOS 7下Keepalived + HAProxy 搭建配置详解

    第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...

  5. RabbitMQ学习总结 第一篇:理论篇

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  6. 【PHPsocket编程专题(理论篇)】初步理解TCP/IP、Http、Socket.md

    前言 我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API).那TCP/IP又是什么呢?TCP/IP是ISO/OS ...

  7. Lucene核心--构建Lucene搜索(上篇,理论篇)

    2.1构建Lucene搜索 2.1.1 Lucene内容模型 一个文档(document)就是Lucene建立索引和搜索的原子单元,它由一个或者多个字段(field)组成,字段才是Lucene的真实内 ...

  8. 游戏UI框架设计(一) : 架构设计理论篇

    游戏UI框架设计(一) ---架构设计理论篇 前几天(2017年2月)看到一篇文章,国内王健林.马云等大咖们看好的未来十大最有"钱途"产业中,排名第一的就是"泛娱乐&qu ...

  9. HTML5的Websocket(理论篇 I)

    HTML5的Websocket(理论篇 I) ** 先请来TA的邻居:** http:无状态.基于tcp请求/响应模式的应用层协议 (A:哎呀,上次你请我吃饭了么? B:我想想, 上次请你吃了么) t ...

随机推荐

  1. java-创建对象实例

    1.A a = new A(); 2.Class class = B.Class; B b = class .newInstance();

  2. 英特尔携手中国游戏开发者登陆 Unite Shanghai 2019 推动游戏产业创新

    2019 年 5 月 10 日-12 日,Unite Shanghai 2019 在上海召开.除了展示 Unity 的最新技术成就,以及出众的 Made with Unity 游戏与行业应用之外,大会 ...

  3. Leetcode之53. Maximum Subarray Easy

    Leetcode 53 Maximum Subarray Easyhttps://leetcode.com/problems/maximum-subarray/Given an integer arr ...

  4. 函数节流之debounce

    浏览器中某些计算和处理要比其他的昂贵很多.例如, DOM 操作比起非 DOM 交互需要更多的内存和 CPU 时间.连续尝试进行过多的 DOM 相关操作可能会导致浏览器挂起,有时候甚至会崩溃.尤其在 I ...

  5. Fabric Raft机制理解

    为了不被无缘无故甩锅锅,这个我要好好理解下.

  6. Python处理字符串和列表元组的小技巧

    变量值互换 a = 1 b = 100 # 变量值互换 a, b = b, a print('a:', a) print('b:', b) 输出结果: a: 100 b: 1 多个变量赋值 a, b, ...

  7. PYTHON 100days学习笔记006:函数和模块的使用

    目录 Day006:函数和模块的使用 1.函数的作用 2.定义函数 2.1 语法 2.2 实例 2.3 函数的调用 4.函数的参数 4.1 必须参数 4.2 关键字参数 4.3 默认参数 4.4 不定 ...

  8. linux 软连接和 硬链接的区别

    Linux软链接硬链接的区别   ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下 ...

  9. SqlServer判断表中某列是否包含中文,英文,纯数字

    原文:SqlServer判断表中某列是否包含中文,英文,纯数字 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog ...

  10. Spring4学习回顾之路02—IOC&DI

    IOC&DI介绍 ●IOC:(Inversion of Control) :控制反转(反向获取资源) 其思想是反转资源获取的方向.传统的资源上查找方式要求组件向容器发起请求查找资源,作为回应, ...