• RocketMQ学习笔记(3)----RocketMQ物理结构和逻辑部署结构


    1. RocketMQ的物理结构

      

      RecketMQ网络部署的特点:

      Name Server是一个几乎无状态特点,可集群部署,节点之间无任何信息同步的(相对于zookeeper是较为轻量级的)。

      Broker部署相对比较复杂的,Broker分为Master和Slave,一个Master可以对应多个Slave,但是多个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的BrokerName,不同的BrokerID来定义,BrokerId为o表示Master,非o表示Slave,Master也可以部署多个,每个Broker与Name Server集群中的所有节点建立长连接,定时注册Topice信息到所有的Name Server.

      Producer与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时的向Master发送心跳,Producer完全无状态,可以集群部署。

      Consuemr与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master,Slave建立长连接,且定时向Master,Slave发送心跳,Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。

    2. RockertMQ的逻辑部署结构

      

      2.1 Producer Group

      用来表示一个发送消息应用,一个Producer Group下包含多个Producer实例,可以是多台机器,也可以是一台机器下的多个进程,多个一个进程中的多个Producer对象,一个Producer Group可以发送多个Topic消息,Producer Group作用如下:

      1. 标识一类Producer

      2.  可以通过运维工具查询这个发送消息应用下的多个Producer

      3. 发送分布式事务消息时,如果Producer中途意外宕机,Broker主动回调Producer Group内的任意一台机器来确认事物状态。

      2.2 Consuermer Group

      来表示一个消费消息的应用,一个Consumer Group下包含多个Consumer实例,可以是多台机器,也可以是多个进程,或者是一个进程的多个Consumer对象,一个Consumer Group下的多个Consumer以均摊的方式消息消息,如果设置为广播方式,那么这个Consumer Group下的每个实例都消费所有的数据。

  • 相关阅读:
    runAllManagedModulesForAllRequests 和 invalid url
    zip file 压缩文件
    asp.net framework identity 学习笔记
    angular2 学习笔记 (Typescript)
    angular2 学习笔记 ( DI 依赖注入 )
    angular2 学习笔记 ( rxjs 流 )
    Visual Studio and Visual Studio Code (vscode)
    FluentValidation
    想提高面试通过率?回答好这10个问题征服面试官
    【拿来就用】20款婚礼婚庆网站模板, 轻松打造幸福满满的网站设计
  • 原文地址:https://www.cnblogs.com/Eternally-dream/p/9932053.html
Copyright © 2020-2023  润新知