RocketMQ-0.1
2024-09-02 11:58:35
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。
最新文章
- Excel 函数VLOOKUP初学者使用指南
- wp8开发笔记之应用程序真机发布调试
- TortoiseSVN安装以及淘宝 TAE SDK 开发环境的搭建
- SQL Server中参数化SQL写法遇到parameter sniff ,导致不合理执行计划重用的一种解决方案
- C#迭代器
- C#的path.GetFullPath 获取上级目录实现方法
- js 判断数据类型的方法及实现
- cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
- 二叉查找树:Python实现
- Windows 7 with SP1简体中文旗舰版(微软MSDN原版)+ 激活密钥
- maple 教程
- sqlte3 的约束
- Qt词典搜索
- IT连创业系列:年终回顾录!
- [APIO2012]
- 【转】Python 3的pathlib模块:驯服文件系统
- POJ1469 COURSES 二分图匹配 匈牙利算法
- linux命令之间的分号,&;&;, ||
- leecode第一百零四题(二叉树的最大深度)
- RabbitMQ的应用场景以及基本原理介绍(转)
热门文章
- 右键添加IDEA打开
- SpringMVC 源代码深度解析 IOC容器(Bean 解析、注册)
- Python 编辑注意点
- docker 免sudo设置(仅3个命令)
- 【PAT甲级】1116 Come on! Let's C (20分)
- NMF: non-negative matrix factorization.
- pip install时报错
- 正则表达式过滤url请求
- 【蓝桥杯/算法训练】Sticks 剪枝算法
- Python - python3.7新增的contextvars vs Thread local(threading.local)