zoukankan      html  css  js  c++  java
  • RocketMQ笔记2-主从模式

    主从模式

    • 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 会略高

    参考

    官方搭建教程

  • 相关阅读:
    vue使用Highcharts图表
    Laya 骨骼动画播放
    unity3d学习笔记
    unity学习笔记
    Laya本地存储对象,读取上来之后没有类方法了
    Laya2学习笔记
    Laya vscode f5断点调试开启
    fairyGUI学习笔记
    使用docker安装swoole环境
    docker学习笔记
  • 原文地址:https://www.cnblogs.com/wuba/p/11772053.html
Copyright © 2011-2022 走看看