Kafka vs 傳統訊息中介軟體

2021-09-29 06:56:13 字數 687 閱讀 4875

差異點

傳統訊息中介軟體

kafka

分布式的架構設計理念

所有的client同時與集群中的其中乙個broker建立連線,只有該broker掛掉之後,才會將所有的client全部遷移到其他的broker。

不同的topic被「打散」分布在不同的broker上,client向集群中不同的broker發起連線,這樣就降低了單個broker的負載,提高了系統的整體併發度。

並且可以根據各個broker上的負載,對leader副本進行再平衡。

容錯性無備份,只是在broker掛掉之後,整體遷移到其他的broker的。可能會導致資料丟失。

針對每個topic的每個partition,將資料同步到其他的broker上。在主副本掛掉之後,資料不會丟失。

對於可靠性要求較高的,設定較大的副本數;如果對可靠性要求不搞,而對時延、吞吐量要求較高,可以設定較小的副本。

同主題並行消費

如果傳送的吞吐量太大,可能會導致消費不及時的情況,此時只能增加主題個數。

引入了partition的概念,可以將同主題的訊息傳送到不同的分割槽,然後分割槽消費。並且可以根據分割槽的資料量,對消費組進行再平衡。

基於日誌的訊息儲存

push方式,基於記憶體,訊息抵達目的地,記憶體中的訊息便刪除了。

pull方式,基於日誌被持久化儲存了,這樣消費端掌握了主動權,可以隨時消費,支援訊息回放。

訊息中介軟體

1.訊息的優先順序 2.訊息排序 3.訊息過濾 4.訊息持久化 5.訊息重試 6.事務的支援 7.broker滿 生產者,佇列,消費者 訊息佇列的優點 1 解耦2 非同步訊息,系統響應 在jms中,有兩種訊息模型 點對點模式和發布訂閱模式。1.在點對點模式中 有三種角色 1 訊息佇列,傳送者,接受者...

訊息中介軟體

如何理解訊息中介軟體?訊息中介軟體是儲存訊息的乙個容器,與資料庫不同的是資料庫儲存的資料是可以被修改的,而訊息中介軟體一般不會被修改 訊息中介軟體在消費的生產者與消費者產生,相當於乙個中間人的角色,提供了路由保證訊息的傳遞,如果消費者不能及時接收,訊息會保留下來,知道消費者上線 保證在存活期內 訊息...

訊息中介軟體

訊息中介軟體是在訊息的傳輸過程中儲存訊息 訊息傳遞過程中不能更改 的容器。訊息中介軟體再將訊息從它的原中繼到它的目標時充當中間人的作用。訊息中介軟體的主要目的是提供路由並保證訊息的傳遞 如果傳送訊息時接收者不可用,訊息佇列會保留訊息,知道可以成功傳遞為止,當然,訊息佇列儲存訊息也是有期限的。訊息傳送...