RocketMQ消费模式
RocketMQ的消費(fèi)模式有2種
1 public enum MessageModel {
2 BROADCASTING("BROADCASTING"),
3 CLUSTERING("CLUSTERING");
4
5 private String modeCN;
6
7 private MessageModel(String modeCN) {
8 this.modeCN = modeCN;
9 }
10
11 public String getModeCN() {
12 return this.modeCN;
13 }
14 }
查看一下源碼,在默認(rèn)情況下,就是集群消費(fèi)(CLUSTERING)。另一種消費(fèi)模式,是廣播消費(fèi)(BROADCASTING)。
其實(shí),對(duì)于RocketMQ而言,通過(guò)ConsumeGroup的機(jī)制,實(shí)現(xiàn)了天然的消息負(fù)載均衡!通俗點(diǎn)來(lái)說(shuō),RocketMQ中的消息通過(guò)ConsumeGroup實(shí)現(xiàn)了將消息分發(fā)到C1/C2/C3/……的機(jī)制,這意味著我們將非常方便的通過(guò)加機(jī)器來(lái)實(shí)現(xiàn)水平擴(kuò)展!
至于消息分發(fā)到C1/C2/C3,其實(shí)也是可以設(shè)置策略的:
默認(rèn)的分配算法是AllocateMessageQueueAveragely
還有另外一種平均的算法是AllocateMessageQueueAveragelyByCircle,也是平均分?jǐn)偯恳粭lqueue,只是以環(huán)狀輪流分queue的形式,如下圖:
廣播消費(fèi),類似于ActiveMQ中的發(fā)布訂閱模式,消息會(huì)發(fā)給Consume Group中的每一個(gè)消費(fèi)者進(jìn)行消費(fèi)。由于廣播模式下要求一條消息需要投遞到一個(gè)消費(fèi)組下面所有的消費(fèi)者實(shí)例,所以也就沒(méi)有消息被分?jǐn)傁M(fèi)的說(shuō)法。
RocketMQ-廣播消費(fèi)模式設(shè)置:
總結(jié)
以上是生活随笔為你收集整理的RocketMQ消费模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基金交易席位的制度沿袭
- 下一篇: 两台电脑件通过网线进行屏幕扩展