码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • RabbitMQ的高可用方案


    RabbitMQ的高可用方案

    • 集群方案
      • cluster
      • 镜像
      • Federation插件
      • Shovel插件
    • 部署方式
      • 多机多节点
      • 单机多节点

    集群方案

    cluster

    Cluster普通模式

    在这里插入图片描述
    如图所示,此时Rabbit集群同步的是元数据,而真实数据实际上并未同步到每个节点中,此时如果在Rabbit01节点找不到相应队列,此时通过元数据找到该队列存在于Rabbit02节点,则消息发到此节点上。

    元数据包含以下内容
    队列元数据:队列的名称及属性
    交换器:交换器的名称及属性
    绑定关系元数据:交换器与队列或者交换器与交换器
    vhost元数据:为vhost内的队列、交换器和绑定提供命名空间及安全属性之间的绑定关系

    • 优点
      由于原数据的数据量不大,同步速度相比来说比较快。
    • 缺点
      但由于真实数据还是分布存储,因此当某个节点挂了,则会造成单点故障。

    镜像

    Cluster镜像模式

    在这里插入图片描述
    如图所示,此时不同节点拷贝了一份全数据镜像,这种方式解决了普通模式的单点故障的问题,但是由于是全数据拷贝,会导致内存压力过大的问题,并且相对来说会比较慢。

    Federation插件

    在这里插入图片描述
    该方案的主要作用是将消息先发往本地,再通过Federation link将数据同步到联邦节点上。

    Federation插件的设计目标是使RabbitMQ在不同的Broker节点之间进行消息传递而无需建立集群,该功能在以下场景下非常有用:

    • 各个节点运行在不同版本的Erlang和RabbitMQ上。
    • 网络环境不稳定,比如广域网当中。

    Shovel插件

    Shovel与Federation具备的数据转发功能类似,但Shovel能够可靠、持续地从Broker中的队列拉取数据并转发至另一个Broker中的交换器。与Federation相比,Shovel更可靠,但是相比而言效率更低。

    部署方式

    多机多节点

    多机多节点是指在每台机器中部署一个RabbitMQ服务节点,进而由多台机器组成一个RabbitMQ集群。

    在这里插入图片描述

    单机多节点

    由于某些因素的限制,有时候不得不在单台物理机器上去创建一个多RabbitMQ服务节点的集群。或者只想要实验性地验证集群的某些特性,也不需要浪费过多的物理机器去实现。

    在这里插入图片描述

  • 相关阅读:
    Flink的简单学习(kafka)三
    SpringSecurity - 自定义用户认证
    【树莓派不吃灰】命令篇④ Linux 常用命令学习
    ORB-SLAM2从理论到代码实现(十四):KeyFrame类长
    node 第八天 使用前后端不分离的方式实现cookie登录验证
    rpm(基本命令、Makefile、建立rpmbuild编包)
    Xilinx FPGA 7系列 GTX/GTH Transceivers (4) Aurora 8b10b 递增数收发验证
    Python进程池Pool详解
    3-2、python内置数据类型(列表和元组)
    CMake使用基础汇总
  • 原文地址:https://blog.csdn.net/qq_40359381/article/details/126123216
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号