metaq的使用简易版

目前还没去读源码.其实看了一会,但还没看完.~spa

开源的metaq我设计思路应该是这样的:设计

1.生产者(producer)发送消息给broker.索引

这个过程有集群.这里仍是画图吧.文档

 

 

1.圆柱体就是broker的分区,相同的颜色表明着同一个broker.一个broker能够分为多个分区(partation).源码

2.黑色的圈圈表明着message,传送带表明的是topic是Producer.生产者对同一个topic能够集群.io

3.message保存在分区中.集群

producer产生的同一个topic下的多个message保存在不一样的partation实现broker的集群,原理

 

broker的存储策略.meta

1.broker接受到的message是以文件方式存储的broker本地中.对于message的data部分,metaq不会进行任何转换,只负责保存与索引.im

2. 同一个topic下有不一样分区,每一个分区下面会划分为多个文件,只有一个当前文件在写,其余文件只读。

具体的存储原理在metaq的详细文档中.

consumer与broker的关系及集群,

集群下consumer拉取消息示意图:

 

 

1.当集群的consumer大于小于分区数目时,消费者会承担额外的分区拉取.

2.当集群的消费者大于分区数目时,则多余的消费者处于空闲状态.

3.一个分区下,对于同一个group的消费者,只能有一个进行消费.

相关文章
相关标签/搜索