最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Kafka 消息是采用 Pull 模式,還是 Push 模式?

2023-02-27 22:09 作者:凱小吧  | 我要投稿

Kafka 最初考慮的問題是,customer 應(yīng)該從 brokes 拉取消息還是 brokers 將消息推送到

consumer,也就是 pull 還 push。

在這方面,Kafka 遵循了一種大部分消息系統(tǒng)共同的傳統(tǒng)的設(shè)計:

producer 將消息推送到 broker,consumer 從 broker 拉取消息

一些消息系統(tǒng)比如 Scribe 和 ApacheFlume 采用了 push 模式,將消息推送到下游的 consumer。

這樣做有好處也有壞處:

由 broker 決定消息推送的速率,對于不同消費速率的 consumer 就不太好處理了。消息系統(tǒng)都致力于讓 consumer 以最大的速率最快速的消費消息,但不幸的是,push 模式下,當 broker 推送的速率遠大于 consumer 消費的速率時, consumer 恐怕就要崩潰了。

最終 Kafka 還是選取了傳統(tǒng)的 pull 模式

Pull 模式的另外一個好處是 consumer 可以自主決定是否批量的從 broker 拉取數(shù)據(jù)。Push 模式必須在不知道下游 consumer 消費能力和消費策略的情況下決定是立即推送每條消息還是緩存之后批量推送。如果為了避免 consumer 崩潰而采用較低的推送速率,將可能導致一次只推送較少的消息而造成浪費。

Pull 模式下,consumer 就可以根據(jù)自己的消費能力去決定這些策略

Pull 有個缺點是,如果 broker 沒有可供消費的消息,將導致 consumer 不斷在循環(huán)中輪詢,

直到新消息到 t 達。為了避免這點,Kafka 有個參數(shù)可以讓 consumer 阻塞知道新消息到達

Kafka 消息是采用 Pull 模式,還是 Push 模式?的評論 (共 條)

分享到微博請遵守國家法律
濮阳县| 永宁县| 中江县| 丰镇市| 汶上县| 许昌县| 宜春市| 泸水县| 镇远县| 沅陵县| 巨野县| 周宁县| 壶关县| 伊吾县| 金川县| 寿宁县| 平武县| 东至县| 石柱| 铜梁县| 太湖县| 通榆县| 白沙| 杭锦后旗| 宁河县| 五华县| 汕头市| 洮南市| 江油市| 靖边县| 黄山市| 苍山县| 扎囊县| 铁岭市| 肇庆市| 元朗区| 武义县| 祁东县| 哈密市| 称多县| 沾益县|