zoukankan      html  css  js  c++  java
  • rocketmq技术架构图

    NameServer、Broker、Producer、Consumer之间如何进行通信,如何工作:

    NameServer和Broker:

    NameServer主要做两件事情,第一就是管理Broker,接受来自Broker集群发送的注册,

    以及提供心跳机制来检查我们的Broker是否还存活。第二件事情就是管理路由信息,

    每一个NameServer都存储有路由信息和队列信息,提供给Producer和Consumer查询。

    Broker主要负责消息的存储和传递,消息查询等。主要包含远程模块、客户端管理、存储服务、HA服务和索引服务。

    Broker(不管是Master还是Slave)和每一台NameServer机器来建立TCP连接。

    Broker在启动的时候调用BrokerController中start方法,获取远程nameServerAddressList(远程NameServer服务列表),

    Broker对nameServerAddressList进行for循环处理,注册自己配置的topic信息到NameServer集群的每一台机器中。

    即每一台NameServer都有该Broker的topic的配置信息。Master与Master之间无连接,Master与Slave之间有连接。

    Producer和NameServer:

    每一个Producer与NameServer集群中的一台机器建立TCP连接,从这台NameServer上拉取路由信息。

    Producer和broker:

    Producer和它要发送的topic相关的Master类型的Broker建立TCP连接,用于发送消息以及定时的心跳信息。

    Broker中记录该Producer的信息,供查询使用。

    Consumer和NameServer:

    每一个Consumer会和NameServer集群中的一台机器建立TCP连接,会从这台NameServer上拉取路由信息,进行负载均衡。

    Consumer和Broker:

    Consumer可以与Master或者Slave的Broker建立TCP连接来进行消费消息,Consumer也会向它所消费的Broker发送心跳信息,供Broker记录。

  • 相关阅读:
    如何通過編程獲取列表項目的附件以及多行文本中的文件內容
    小技巧:如何管理保存在本地的用户凭据
    WF 4.0中如何实现xaml工作流的动态加载
    使用jquery构造自己的多级菜单
    和安蕾尔的合影
    360太tmd脑残了
    3D 打印机技术设想
    再放2张数字油画
    解决问题的艺术:半小时编程实现照片的反转负冲特效
    承接数字油画图稿/线条图定制(出图)业务
  • 原文地址:https://www.cnblogs.com/panxuejun/p/8797103.html
Copyright © 2011-2022 走看看