metaq的使用简易版

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

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

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

这个过程有集群.这里还是画图吧.

 

metaq的使用简易版

 

1.圆柱体就是broker的分区,相同的颜色代表着同一个broker.一个broker可以分为多个分区(partation).

2.黑色的圈圈代表着message,传送带代表的是topic是Producer.生产者对同一个topic可以集群.

3.message保存在分区中.

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

metaq的使用简易版

 

broker的存储策略.

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

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

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

consumer与broker的关系及集群,

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

metaq的使用简易版

 

 

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

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

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

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/lmxy1990/blog/791299