假设我们现在开发了一个应用应用的端口号为 8080,这个应用我们想让它去实现一个负载均衡的访问,就是说我们有两台服务器都部署了我们的 8080 应用,我们想让它一会访问 ip 为: 192.168.0.1 的,一会访问 192.168.0.2 的,我们之前的做法是不是在这两台服务器之上部署一台 Nginx 来进行实现的,如下图:

后续我们只需要配置 Nginx 的算法即可,负载均衡或轮询,就可以达到来回切换的访问我们的应用。这个时候有一个问题,就是说我们的 Nginx 宕机了咋办,宕机了我们的应用服务用户就使用不了了,这个时候我们就需要去解决下这个问题。

这个时候就需要我们将 Nginx 实现可以轮询又可以高可用了,就是一个 Nginx 宕机了还有一台 Nginx,说到这里我们的架构就演变为了如下图了:

好了,我们的问题貌似解决,但是呢,我想让这两个 Nginx 的访问可以进行轮询就是一会访问左边的一会访问右边的,这种该如何进行实现呢,不可能我们继续在这两台的 Nginx 基础上在部署一台来进行转发吧,所以这里就要提到我所要介绍的一个技术叫做 haproyx 来做负载均衡,在 haproyx 当中分别配置左边和右边的 Nginx 地址即可,这样我们的 Nginx 就可以实现负载均衡。

加入 haproyx 之后我们的架构图再次进行演变:

我们现在还是达不到入口是单一的,我们现在这个结构图是多个入口,那我们怎样才可以实现单入口,这里就要在介绍一位朋友叫做 keepalive,它可以实现 IP 漂移,在 Keepalive 当中配置 haproyx,如果两个 haproyx 最开始的状态都是健康的,我们的 keepalive 可能是指向的左边的,如果左边的不健康了,keepalive 会自动将 IP 漂移到右边的 haproyx 上让我们的应用进行访问。

?> 最终架构图

我们下一篇文章将介绍如何在华为云进行搭建。

Keepalive-Haproxy高可用介绍的更多相关文章

  1. 使用Haproxy代理rabbitmq集群,用keepalive保证haproxy高可用

    原文地址:https://www.jianshu.com/p/440b8e1d5339 使用Haproxy代理rabbitmq集群 上一篇文章教了rabbitmq集群搭建.但是这样搭建出来的集群是3个 ...

  2. lvs+keepalive构建高可用集群

    大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用的前端负载均衡器 一.前言        Keepalived使用的vrrp协议方式,虚拟路由 ...

  3. Keepalived+Haproxy高可用负载均衡群集

    介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会 ...

  4. mysql和haproxy高可用

    这片文章主要介绍mysql+haproxy+keepalived的高可用使用. 有两种模式: 第一种:数据库宕机触发VIP漂移的高可用使用. 第二种:haproxy宕机出发VIP漂移的高可用. 这两种 ...

  5. mysql主从之keepalive+MySQL高可用

    一 keepalive介绍 1.1 keepalived 是什么 keepalived 是集群管理中保证集群高可用的一个服务软件,用来防止单点故障. 1.2 keepalived 工作原理 keepa ...

  6. rabbitmq+ keepalived+haproxy高可用集群详细命令

    公司要用rabbitmq研究了两周,特把 rabbitmq 高可用的研究成果备下 后续会更新封装的类库 安装erlang wget http://www.gelou.me/yum/erlang-18. ...

  7. linux下安装haproxy作为端口转发服务器,以及安装keepalived作为haproxy高可用方案

    一.安装haproxy作为端口转发服务器(主服务器:172.28.5.4,备服务器:172.28.5.8,浮点IP为:172.28.5.6) 1.安装依赖包 yum -y install wget g ...

  8. CentOS7.4下安装部署HAProxy高可用群集

    目录第一部分 实验环境第二部分 搭建配置web服务器第三部分 安装配置haproxy服务器第四部分 测试验证第五部分 haproxy配置相关详细解释 第一部分 实验环境1.一台harpoxy调度服务器 ...

  9. 24、Keepalived高可用介绍

    24.1.什么是keepalived: Keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS 集群系统中各个服务节点的状态,后来又加入了可以实现高可用的 VRRP ...

  10. LVS的持久连接、会话保持和高可用介绍

    持续连接 1)持久连接(lvs persistence)模板: 实现无论使用任何调度算法,在一段时间内(默认360s),能够实现将来自同一个地址的请求始终发往同一个RS ipvsadm -A|E -t ...

随机推荐

  1. HanLP — HMM隐马尔可夫模型 -- 训练&预测

    BMES => B-begin:词语开始.M-middle:词语中间.E-end:词语结束.S-single:单独成词 训练的过程,就是求三个矩阵的过程 初始概率矩阵 转移概率矩阵 发射矩阵 每 ...

  2. Axure 母版红色怎么去除?

    视图 => 遮罩 => 母版 勾选去掉

  3. JPA 表名大小写问题

    JPA 默认会将实体中的 TABLE_NAME 转成小写如 @Entity @Table(name = "EMPLOYEE") public class Employee { @I ...

  4. MongoDB 占用CPU资源过高

    情况如下 db.currentOp() 发现有全表扫描 将 Collscan 对应的 Collection 建索引 db.Table1.createIndex({"DataTime" ...

  5. Sublime Json 格式化

    Ctrl+Shift+P 安装  pretty json  Ctrl+Alt+J

  6. Linux CentOS 7 离线安装.NET环境

    下载 下载.NET 例如: aspnetcore-runtime-6.0.15-linux-x64.tar.gz 复制 复制到如下目录: /usr/local/dotnet/aspnetcore-ru ...

  7. 遇到 Request header is too large,你是如何解决的?

    看到群里有小伙伴问,这个异常要怎么解决: java.lang.IllegalArgumentException: Request header is too large 异常原因 根据Exceptio ...

  8. Make、Makefile、Cmake、QMake 的区别

    本博文的简述or解决问题? make makefile cmake qmake都是什么,有什么区别? 查了一下好像是编译用的,既然是编译为什么我们不用g++. javac 来编译呢?我猜答案是方便一点 ...

  9. <vue 路由 8、keep-alive的使用>

    一.     知识点 1.什么是keep-alive? keep-alive是Vue.js的一个内置组件. 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们.它自身不会渲染一个 DOM 元素,也 ...

  10. notepad++的使用技巧

    一.多标签管理 1.可支持多个标签的展示