rocketmq的主要部分是由4种集群构成的:namesrv集群、broker集群、producer集群和consumer集群。

namesrv集群:也就是注册中心,rocketmq在注册中心这块没有使用第三方的中间件,而是自己写的代码来实现的,代码行数才1000行,producer、broker和consumer在启动时都需要向namesrv进行注册,

namesrv服务之间不通讯。

broker集群:broker提供关于消息的管理、存储、分发等功能,是消息队列的核心组件。rocket关于broker的集群提供了主要两种方案,一种是主从同步方案,消息同时写到master和slave服务器视为消息发送成功;另一种是异步方案,slave的异步服务负责读取master的数据,本人在选择时更倾向于异步方案。

producer集群:消息的生产者,每个producer都需要属于一个group,producer的group概念除了在事务消息时起到一些作用,但是其它时候,更多的还只是一个虚拟的概念。

consumer集群:消息的消费者,有两个主要的consumer:DefaultMQPullConsumer和DefaultMQPushConsumer,深入代码后可以发现,rocket的consumer都是采用的pull模式来处理消息的。在集群消息的配置下,集群内各个服务平均分配消息,当其中一台consumer宕机,分配给它的消息会继续分配给其它的consumer。

最新文章

  1. Excel 函数VLOOKUP初学者使用指南
  2. wp8开发笔记之应用程序真机发布调试
  3. TortoiseSVN安装以及淘宝 TAE SDK 开发环境的搭建
  4. SQL Server中参数化SQL写法遇到parameter sniff ,导致不合理执行计划重用的一种解决方案
  5. C#迭代器
  6. C#的path.GetFullPath 获取上级目录实现方法
  7. js 判断数据类型的方法及实现
  8. cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
  9. 二叉查找树:Python实现
  10. Windows 7 with SP1简体中文旗舰版(微软MSDN原版)+ 激活密钥
  11. maple 教程
  12. sqlte3 的约束
  13. Qt词典搜索
  14. IT连创业系列:年终回顾录!
  15. [APIO2012]
  16. 【转】Python 3的pathlib模块:驯服文件系统
  17. POJ1469 COURSES 二分图匹配 匈牙利算法
  18. linux命令之间的分号,&&, ||
  19. leecode第一百零四题(二叉树的最大深度)
  20. RabbitMQ的应用场景以及基本原理介绍(转)

热门文章

  1. 右键添加IDEA打开
  2. SpringMVC 源代码深度解析 IOC容器(Bean 解析、注册)
  3. Python 编辑注意点
  4. docker 免sudo设置(仅3个命令)
  5. 【PAT甲级】1116 Come on! Let's C (20分)
  6. NMF: non-negative matrix factorization.
  7. pip install时报错
  8. 正则表达式过滤url请求
  9. 【蓝桥杯/算法训练】Sticks 剪枝算法
  10. Python - python3.7新增的contextvars vs Thread local(threading.local)