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记录。

rocketmq技术架构图的更多相关文章

  1. CDN服务技术架构图

    前言 在博文中 解读大型网站的演变过程  浅谈 举家搬迁静态文件到CDN 博文中都有涉及CDN,这次我们来详细讲解下CDN的架构 简介 CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器 ...

  2. Hadoop 2.x 生态系统及技术架构图

    一.负责收集数据的工具:Sqoop(关系型数据导入Hadoop)Flume(日志数据导入Hadoop,支持数据源广泛)Kafka(支持数据源有限,但吞吐大) 二.负责存储数据的工具:HBaseMong ...

  3. nGrinder技术架构图

  4. HKDAS产品技术架构图

  5. iphone开发 IOS 组织架构图

    转载自 :http://blog.csdn.net/mashi321323/article/details/18267719   登录|注册     mashi321323的专栏       目录视图 ...

  6. .Net Core with 微服务 - 架构图

    上一次我们简单介绍了什么是微服务(.NET Core with 微服务 - 什么是微服务 ).介绍了微服务的来龙去脉,一些基础性的概念.有大佬在评论区指出说这根本不是微服务.由于本人的能力有限,大概也 ...

  7. Atitit jOrgChart的使用  组织架构图css html

    Atitit jOrgChart的使用  组织架构图css html 1. 项目要做组织架构图,要把它做成自上而下的树形结构,于是决定1 2. Html导入 以来的css js1 2.1. 数据来源 ...

  8. 飞达资讯App总体介绍及关系架构图

    飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云 ...

  9. 关于SAP4.7的几个架构图

    http://blog.itpub.net/92530/viewspace-154881/ 1.SAP基本架构图 2.SAP的应用层的工作进程架构图 3.SAP的内存类型图 4.SAP数据访问架构图 ...

随机推荐

  1. xcode7 创建pch文件

    1.打开xcode 7.2 项目,在屏幕顶端的工具栏,选择File>New>File..>iOS>Other>PCH File,点击"next"下一步 ...

  2. C#基础系列 - 抽象类及其方法的学习

    在C#中使用关键字 abstract 来定义抽象类和抽象方法. 不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例. "一个包含一个或多个纯虚函数的类 ...

  3. 高仿360界面的实现(用纯XML和脚本实现)

    源码下载:360UI 本项目XML的桌面渲染依赖GQT开源项目(请感兴趣的朋友加入QQ讨论群:101189702,在群共享文件里下载GQT源码),以下是360界面实现的全部XML代码,所有的代码都在3 ...

  4. 微控工具xp模块-开发版[微信(wechat)二次开发模块]

    http://repo.xposed.info/module/com.easy.wtool   微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方 ...

  5. CentOS 5.x上配置JBoss6.x步骤图解教程

    1.如何远程连接CentOS和文件上传下载 使用工具Xmanager下的Xbroswer 首先在Xbroswer下的Xshell下新建文件夹JavaPlatServer,新建一个Xshell Sess ...

  6. 接口调用 POST

    /** * 接口调用 POST * @return [type] [description] */ public function portPhone(Request $request) { $pho ...

  7. C++ 基础 杂类

    1.set:  基本上跟map是相同(只有一个键),set是key-value 放在一起,map 是分开的,既然都加key ,所以set<> 的内容不可能有重复的情况出现 example: ...

  8. win10 远程桌面远程电脑时每次要输入密码及身份验证错误,要求的函数不受支持问题解决

    解决以前每次远程时能能记住密码,更新系统补丁后现在每次登录要输入密码了及远程时提示身份验证错误,要求的函数不受支持问题 解决方法一.卸载更新安装的新补丁,远程桌面正常,能记住密码 解决方法二.修改注册 ...

  9. Android中selector背景选择器

    http://blog.csdn.net/forsta/article/details/26148403 http://blog.csdn.net/wswqiang/article/details/6 ...

  10. Python闭包Closure 2

    由于Python中,变量作用域为LEGB,所以在函数内部可以读取外部变量,但是在函数外不能读取函数内的变量.但是出于种种原因,我们需要读取函数内的变量时候怎么办?那就是在函数内在加一个函数. def ...