第六章 rabbitmq高可用集群

这篇具有很好参考价值的文章主要介绍了第六章 rabbitmq高可用集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第六章 rabbitmq高可用集群,亿级PV项目开发,java-rabbitmq,rabbitmq,java,php

         在服务之间会采用mq进行消息通信,而rabbitmq本身也如同consul一样,如果只有一个节点那么就可能出现宕机的问题,并且基于mq的特点我们是可以在多个服务之间使用同一个mq来相互通信,因此高可用的架构设计就必不可少

1、rabbitmq集群方案

主备

远程

镜像

多活

构建

2、构建rabbitmq镜像集群

        Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存 放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。所以必须保证各节点cookie一致,不然节点之间就无法通信。

第六章 rabbitmq高可用集群,亿级PV项目开发,java-rabbitmq,rabbitmq,java,php

3、理解rabbitmq镜像集群通信过程

第六章 rabbitmq高可用集群,亿级PV项目开发,java-rabbitmq,rabbitmq,java,php

 4、镜像集群模式特点

1、生产者向任一服务节点注册队列,该队列相关信息会同步到其他节点上

2、任一消费者向任一节点请求消费,可以直接获取到消费的消息,因为每个节点上都有相同的实际数据

3、任一节点宕机,不影响消息在其他节点上进行消费

5、haproxy实现rabbitmq负载均衡

        采用haproxy来实现对rabbitmq的反向代理与负载均衡,当然实际上我们也可以利用nginx来处只是主流均会以haproxy来做

5.1、haproxy与ngnix对比

1)HAProxy是工作在网络7层之上

2)能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作

3)支持url检测后端的服务器出问题的检测会有很好的帮助。

4)更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现

5)单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度

6)HAProxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。

6、keepalived实现对haproxy的监控

1)通过IP漂移,实现服务的高可用:服务器集群共享一个虚拟IP,同一时间只有一个服务器占有虚拟IP并对外提供服务,若该服务器不可用,则虚拟IP漂移至另一 台服务器并对外提供服务

2)对应用服务层的应用服务器集群进行状态监控:若应用服务器不可用,则keepalived将其从集群中摘除,若应用服务器恢复,则keepalived将其重新加入集群 中。

第六章 rabbitmq高可用集群,亿级PV项目开发,java-rabbitmq,rabbitmq,java,php

Keepalived的实现基于VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议

 简单来说,Keepalived 主要提供两种功能:

依赖 IPVS 实现服务器的健康检查

实现 VRRPv2 协议来处理路由的故障切换文章来源地址https://www.toymoban.com/news/detail-531983.html

到了这里,关于第六章 rabbitmq高可用集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RabbitMQ高可用集群搭建

    理论简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ、RabbitMQ、Kafka、RocketMQ等。 Rabbi

    2024年02月20日
    浏览(42)
  • 【RabbitMQ】之高可用集群搭建

    一、RabbitMQ 集群原理 1、默认集群原理 2、镜像集群原理 3、负载均衡方案 二、RabbitMQ 高可用集群搭建 1、RabbitMQ 集群搭建 2、配置镜像队列 3、HAProxy 环境搭建 4、Keepalived 环境搭建 3-1、RabbitMQ 集群简介 单台 RabbitMQ 服务器处理消息的能力是有瓶颈的,而且可靠性还无法保证,所

    2024年02月15日
    浏览(43)
  • 动力节点Rabbitmq-18-21章RabbitMQ集群与高可用

    RabbitMQ 的集群分两种模式,一种是默认集群模式,一种是镜像集群模式; 在RabbitMQ集群中所有的节点(一个节点就是一个RabbitMQ的broker服务器) 被归为两类:一类是磁盘节点,一类是内存节点; 磁盘节点会把集群的所有信息(比如交换机、绑定、队列等信息)持久化到磁盘中

    2024年02月01日
    浏览(52)
  • rabbitmq第四课-RabbitMQ高可用集群架构详解以及生产环境最佳实践

    之前通过单机环境搭建起来的RabbitMQ服务有一个致命的问题,那就是服务不稳定的问题。如果只是单机RabbitMQ的服务崩溃了,那还好,大不了重启下服务就是了。 但是如果是服务器的磁盘出问题了,那问题就大了。因为消息都是存储在Queue里的,Queue坏了,意味着消息就丢失了

    2024年02月11日
    浏览(49)
  • keepalived+haproxy 搭建高可用高负载高性能rabbitmq集群

    一、环境准备 1. 我这里准备了三台centos7 虚拟机 主机名 主机地址 软件 node-01 192.168.157.133 rabbitmq、erlang、haproxy、keepalived node-02 192.168.157.134 rabbitmq、erlang、haproxy、keepalived node-03 192.168.157.135 rabbitmq、erlang 2. 关闭三台机器的防火墙 3. 三台主机的host和hostname配置 4. erlang与rabbitmq版

    2024年02月11日
    浏览(54)
  • centos9 stream 下 rabbitmq高可用集群搭建及使用

    RabbitMQ是一种常用的消息队列系统,可以快速搭建一个高可用的集群环境,以提高系统的弹性和可靠性。下面是搭建RabbitMQ集群的步骤: 基于centos9 stream系统 首先需要在所有节点上安装Erlang和RabbitMQ。建议使用官方提供的安装包进行安装。 在所有节点上编辑hosts文件,将各节

    2024年02月06日
    浏览(47)
  • 使用Docker Swarm部署RabbitMQ+HAProxy高可用集群(三节点-镜像模式)

    当前规划中,只启动一个HAProxy服务,主要用来做RabbitMQ节点的负载均衡和代理,但是HAProxy可能会出现单点故障,后续需要启动多个HAProxy节点,然后结合Keepalived来进行 设置虚拟IP 做故障转移 节点名称 节点主机名 IP地址 角色 运行服务 cluster01 cluster01 192.168.12.48 Docker Swarm Mana

    2024年02月14日
    浏览(43)
  • 第六章:SpringMVC上

    什么是 MVC MVC 是一种软件架构的思想,将软件按照模型、视图、控制器来划分。 M : Model ,模型层,指工程中的 JavaBean ,作用是处理数据。 一类称为实体类 Bean ,专门存储业务数据的。一类称为业务处理 Bean ,专门用于处理业务逻辑和数据访问。 V : View ,视图层,指工程

    2024年02月14日
    浏览(50)
  • Python第六章作业

    目录 第1关 列表的属性与方法 第2关 推导式与生成器 第3关 列表的合并与排序 第4关 二维列表排序 第5关 动物重量排序 第6关 身份证号升位 第7关 完美立方数 第8关 约瑟夫环问题 第9关 文本分析(2)——统计英文文件中的单词数 第1关 列表的属性与方法 初始化一个空

    2024年02月05日
    浏览(47)
  • 第六章 Linux 磁盘管理

    如果我们想在系统中增加一块硬盘用于数据存取,那么大概需要以下步骤: 目的,一是为了分割硬盘空间方便管理,更重要的是让各个分区都基本独立开来,这样如果某个区发生问题,至少不会直接影响到其他分区。 举例:如果把一块磁盘比喻成一大块地,那么对磁盘进行

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包