RocketMQ 集群部署模式

  • 如上图所示, RocketMQ的部署结构有以下特点:
  1. Name Server是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。
  2. Broker 部署相对复杂,Broker 分为 Master 与 Slave,一个 Master(主人) 可以对应多个 Slave(奴隶),但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的 BrokerName,不同的BrokerId来定义,BrokerId为0表示Master,非0表示Slave。Master也可以部署多个,每个Broker与Name Server集群中的所有节点建立长连接,定时注册Topic 信息到所有 Name Server。
  3. Producer 与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供 Topic 服务的 Master 建立长连接,且定时向 Master 发送心跳。Producer完全无状态,可集群部署。
  4. Consumer 与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供 Topic 服务的 Master、Slave 建立长连接,且定时向 Master、Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。

单 master 模式

  • 也就是只有一个 master 节点,称不上是集群,一旦这个 master 节点宕机,那么整个服务就不可用,适合个人学习使用。

多 master 模式

  • 多个 master 节点组成集群,单个 master 节点宕机或者重启对应用没有影响。
  • 优点:所有模式中性能最高
  • 缺点:单个 master 节点宕机期间,未被消费的消息在节点恢复之前不可用,消息的实时性就受到影响。
  • 注意:使用同步刷盘可以保证消息不丢失,同时 Topic 相对应的 queue 应该分布在集群中各个节点,而不是只在某各节点上,否则,该节点宕机会对订阅该 topic 的应用造成影响。

多 master 多 slave 异步复制模式

  • 在多 master 模式的基础上,每个 master 节点都有至少一个对应的 slave。
  • master 节点可读可写,但是 slave 只能读不能写,类似于 mysql 的主从模式。
  • 优点: 在 master 宕机时,消费者可以从 slave 读取消息,消息的实时性不会受影响,性能几乎和多 master 一样。
  • 缺点:使用异步复制的同步方式有可能会有消息丢失的问题。

多 master 多 slave 同步双写模式

  • 同多 master 多 slave 异步复制模式类似,区别在于 master 和 slave 之间的数据同步方式。
  • 优点:同步双写的同步模式能保证数据不丢失。
  • 缺点:发送单个消息 RT 会略长,性能相比异步复制低10%左右。
  • 刷盘策略:同步刷盘和异步刷盘(指的是节点自身数据是同步还是异步存储)
  • 同步方式:同步双写和异步复制(指的一组 master 和 slave 之间数据的同步)
  • 注意:要保证数据可靠,需采用同步刷盘和同步双写的方式,但性能会较其他方式低。

RocketMQ 集群部署模式 理论介绍相关推荐

  1. RocketMQ集群部署记录

    RocketMQ集群部署记录 #引用    https://cloud.tencent.com/developer/article/1147765 一.RocketMQ基础知识介绍 Apache Ro ...

  2. Centos6下RocketMQ集群部署记录

    一.RocketMQ基础知识介绍 Apache RocketMQ是阿里开源的一款高性能.高吞吐量.队列模型的消息中间件的分布式消息中间件. 上图是一个典型的消息中间件收发消息的模型,RocketMQ也 ...

  3. Nacos 集群部署模式最佳实践

    作者 | kiritomoe 来源 | https://mp.weixin.qq.com/s/sSTY5BivxrH4wR2-dNMkzw 1 前言 Nacos 支持两种部署模式:单机模式和集群模式. ...

  4. 技术干货实战(4)- 分布式集群部署模式下Nginx如何实现用户登录Session共享(含详细配置与代码实战)

    原文链接:技术干货实战(4)- 分布式集群部署模式下Nginx如何实现用户登录Session共享(含详细配置与代码实战) 最近有小伙伴催更,让debug多写点技术干货,以便多学习.巩固一些技能:没办法 ...

  5. RocketMQ集群部署方案(DLedger)

    RocketMQ集群部署方案(DLedger) 一.基本配置 1.准备三台虚拟机,root密码 root ;IP地址: 192.168.xxx.xxx worker1 192.168.xxx.xxx ...

  6. MongoDB集群部署模式

    MongoDB 有三种集群部署模式,分别为主从复制(Master-Slaver).副本集(Replica Set)和分片(Sharding)模式. Master-Slaver 是一种主从副本的模式,目 ...

  7. 学习笔记Hadoop(五)—— Hadoop集群的安装与部署(2)—— Hadoop集群部署模式、配置固定IP

    一.Hadoop集群部署模式 Hadoop的安装部署的模式一共有三种: 独立模式(本地模式) standalone 默认的模式,无需运行任何守护进程(daemon),所有程序都在单个JVM上执行.由于 ...

  8. Consul集群部署模式server+client

    Consul是一个服务网格,它提供了一个功能齐全的控制平面,主要特点是:服务发现.健康检查.键值存储.安全服务通信.多数据中心. 在本场 Chat 中,会讲到如下内容:1.Consul核心概念2.Co ...

  9. (三)RocketMQ集群部署实践

    2019独角兽企业重金招聘Python工程师标准>>> 全篇参照–<MyRocketMQ集群部署实战-双master-双slave-同步双写-异步刷盘(7台机器) - tant ...

  10. 从生产故障解锁RocketMQ集群部署的最佳实践

    1.故障描述 RocketMQ 集群采取的部署架构为2主2从,其部署架构如下图所示: 其部署架构中一个非常明显的特点是一台物理机上分别部署了 nameserver,broker 两个进程. 其中一台机 ...

最新文章

  1. 一次redis连接配置修改引发的redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.异常
  2. pcap文件生成metadata——使用tshark解析tcpdump的pcap包
  3. SQL 获取数据IP,ServerName,ClientIPAddress
  4. 【结论题(QAQ)】SSL新年欢乐赛暨BPM退役赛 A 送分题(luogu U102372)
  5. mysql rpm 启动_MySQL安装(rpm)和启动配置
  6. SpringCloud集成Security安全(Config配置中心)
  7. 时域频域与傅立叶变换
  8. Java 换行和回车
  9. 毕业5年跳槽24次,为什么这届95后换工作越来越勤?
  10. java的argv_Java:使用org.apache.commons.cli解析传入参数args,该包会协助解析argv参数...
  11. 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第三章
  12. 【Axure原型分享】自动编号的中继器表格
  13. goldwave教程分享:用GoldWave进行音量调节
  14. Spring集成activiti
  15. 公告栏模板php代码,[免插件]为wordpress主题怎样添加滚动公告栏功能
  16. Exception: Gradle install not valid ___APK打包报错
  17. 如何解决merge conflict的方法
  18. JAVA SE 13快速安装
  19. python生成测试数据_Python基于Hypothesis测试库生成测试数据
  20. linux内核函数 ffs,linux内核中的宏ffs(x)【转】

热门文章

  1. oracle rman optimization,关于RMAN中的优化(Optimization)
  2. 拓端tecdat|Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
  3. kettle使用经验01
  4. 计算机操作系统笔记(一)
  5. 优酷java贴吧_[杭州] [优酷] 阿里 Java 服务端开发招人啦-P7\P6+
  6. 三种激活函数以及它们的优缺点
  7. 2018谷歌学术影响因子发布:CVPR排名泛AI领域第一
  8. 近6年被引用次数最多的深度学习论文top100(附下载地址)
  9. python实现对指定字符串补足固定长度倍数截断输出
  10. 分布排序(distribution sorts)算法大串讲