Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
武汉红喜
whatsmars
提交
659df3d0
W
whatsmars
项目概览
武汉红喜
/
whatsmars
通知
3
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
whatsmars
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
659df3d0
编写于
11月 26, 2018
作者:
武汉红喜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
队列数详解
上级
1c6d997c
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
12 addition
and
4 deletion
+12
-4
whatsmars-mq/whatsmars-mq-rocketmq/README.md
whatsmars-mq/whatsmars-mq-rocketmq/README.md
+12
-4
未找到文件。
whatsmars-mq/whatsmars-mq-rocketmq/README.md
浏览文件 @
659df3d0
...
...
@@ -59,10 +59,18 @@ NameServer本身是无状态的,也就是说NameServer中的Broker、Topic等
费端处理。RocketMQ 4.3+支持事务消息,可用于分布式事务场景(最终一致性)。
-
关于queueNums:
+
客户端自动创建,Math.min算法决定最多只会创建8个(BrokerConfig)队列,若要超过8个,可通过控制台创建/修改,Topic配置保存在store/config/topics.json
+
Consumer的数量应不大于队列数(实际是readQueueNums)
+
读写队列数(writeQueueNums/readQueueNums)是RocketMQ特有的概念,可通过console修改。实验后的结果显示,当readQueueNums<writeQueueNums时,
将有(writeQueueNums-readQueueNums)个队列不会被消费,当readQueueNums>writeQueueNums时,将基于readQueueNums和Consumer数量进行负载均衡(集群模式),
个人理解前者在顺序消息增加队列时有用
+
消费负载均衡的最小粒度是队列,Consumer的数量应不大于队列数
+
读写队列数(writeQueueNums/readQueueNums)是RocketMQ特有的概念,可通过console修改。当readQueueNums不等于writeQueueNums时,会有什么影响呢?
```
java
topicRouteData
=
this
.
mQClientAPIImpl
.
getDefaultTopicRouteInfoFromNameServer
(
defaultMQProducer
.
getCreateTopicKey
(),
1000
*
3
);
if
(
topicRouteData
!=
null
)
{
for
(
QueueData
data
:
topicRouteData
.
getQueueDatas
())
{
int
queueNums
=
Math
.
min
(
defaultMQProducer
.
getDefaultTopicQueueNums
(),
data
.
getReadQueueNums
());
data
.
setReadQueueNums
(
queueNums
);
data
.
setWriteQueueNums
(
queueNums
);
}
}
```
-
Broker上存Topic信息,Topic由多个队列组成,队列会平均分散在多个Broker上。Producer的发送机制保证消息尽量平均分布到
所有队列中,最终效果就是所有消息都平均落在每个Broker上。
-
RocketMQ的消息的存储是由ConsumeQueue和CommitLog配合来完成的,ConsumeQueue中只存储很少的数据,消息主体都是通过CommitLog来进行读写。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录