activemq和kafka有什麼區別?

時間 2021-05-31 07:16:02

1樓:凱德祁

目前我們公司同時在用amq和kafka兩種產品。但是也定下了以kafka為主,amq為輔的路線。

就像第乙個回答所說,amq是乙個專門針對訊息場景的mq,而kafka現在的發展趨勢主要是流資料處理平台。

amq的優勢是功能全,安裝簡單,需要的資源比kafka少,兩台amq就能滿足服務高可用。壞處是效能較低,但是這也是看場景的。曾經嘗試過將amq調整成純記憶體模式,單台4C8G的伺服器配4GJVM效能就能達到6w TPS。

此外amq目前版本是5.15,而在5.11前的版本支援jdk1.

6,對一些仍在使用jdk1.6的應用做分布式遷移時仍然可以使用主要功能。

還有個主要優勢就是協議支援得太全了,包括mqtt,amqp,stormp全都支援,簡直萬能。

kafka是乙個效能怪獸,簡單配置就輕鬆可以達到10w TPS。而且不像市面上其它mq一樣以broker為維度做高可用,而是以topic和partition,這樣就不會有備機特別閒的問題。但是kafka的主要問題有以下幾個:

1. 對zk的依賴,zk一直有超半數節點宕機就宕的問題,這個問題導致了zk的部署必須非常小心。

2. 對訊息服務功能方面的支援不如其它mq那麼好,比如協議支援的不足,訊息延遲投遞功能的缺失,訊息選擇器功能的不足等等。消費者橫向擴容更是需要人工增加partition數量。

3. 同等資源條件下和amq比較,能建立的topic數量遠低於amq。這也制約了大量佇列的場景。

之前和別的公司交流過,他們為了讓kafka能滿足他們對訊息服務的需求,甚至在每乙個kafka元件前設定了乙個自己寫的不同功能的前置伺服器。比如消費者和broker之間,生產者和broker之間,broker和zk之間等等

非利益相關,如果需要考慮和kafka類似的專注於訊息服務領域的產品,可以看看阿里開源的RocketMQ,更側重於mq領域。

日誌採集系統flume和kafka有什麼區別及聯絡,它們分別在什麼時候使用,什麼時候又可以結合?

浪尖 kafka是資料快取,儲存,也可以做簡單處理。flume在企業裡一般都是資料採集,然後落地動作。比如flume採集nginx日誌,然後寫入kafka,然後再用flume消費kafka資料,入hdfs。 迷糊娃 前面應該還有個資料出產者,比方flume.flume擔任出產資料,傳送至kafka。...

在java企業級程式設計中kafka有什麼用?

rail gun 首先,kafka作為訊息中介軟體。在企業級程式設計中實現,消費端和生產端的解耦。使得,生產端和消費端只需要實現自己的業務邏輯,而不需要去關注訊息的本身的傳遞。另外,由於訊息中間價的解耦,可以使得生產端和消費端節點很容易動態的擴增。其次,kafka作為一種大吞吐量的訊息中介軟體,可以...

和 有哪些區別?

周道仁 可以看看我剛出爐的如何掌握和區分周道仁的文章 知乎 https zhuanlan p 14 1183436 教日語的小慌先生 直接上結論 空間概念 飛了過來 vs 飛了過去 原義 根本用法 時間概念 發展而來 vs 發展下去 引申義 程度概念 熱了起來 vs 冷卻下去 引申義 遠處 飛 來 ...