首页 > 其他 > 详细

RocketMQ笔记2-主从模式

时间:2019-10-31 17:59:40      阅读:383      评论:0      收藏:0      [点我收藏+]

主从模式

  • 2n1m1s主从搭建
  • 可以保障消息的即时性与可靠性,主从节点可以消息同步
  • 主节点挂掉,从节点无法接收消息,但是可以提供消费者数据进行消费
  • 主节点重新上线后进行消费进度offset同步

生成者

核心参数

  • producerGroup: 组名,一个应用只有一个
  • defaultTopicQueueNums:在发送消息时,自动创建服务器不存在的 topic,默认创建的队列数
  • sendMsgTimeout:发送消息超时时间,如果无法将消息发送到Broker,重试
  • compressMsgBodyOverHowmuch:发送消息字节数达到4096时会压缩消息,减小网络传输成本
  • retryTimesWhenSendFailed:配置同步重发策略
  • retryAnotherBrokerWhenNotStoreOK:默认为false,设置为true之后,在发送失败的时候,会选择换一个broker。
  • maxMessageSize:发送消息大小限制,默认128k

主从同步机制

  • 源码详解参考
  • 同步信息:数据内容(CommitLog )+元数据信息(配置信息)
  • 元数据同步:Broker角色识别,为Slave则启动同步任务(定时任务)
  • 消息同步:HAService,HAconnection,WaitNotifyObject三个核心类

双主双从搭建

  • 注意: 搭建前需要先编译

    mvn -Prelease-all -DskipTests clean package -U

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

  • 同步双写: master和slave之间的数据同步,主备都写成功,向应用返回成功。
    • 优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高
    • 缺点: 性能比异步复制模式略低,大约低 10%左右,发送单个消息的 RT?会略高

参考

官方搭建教程

RocketMQ笔记2-主从模式

原文:https://www.cnblogs.com/wuba/p/11772053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!