Apache Kafka 和 JMS 的區別。
Kafka 和 JMS 都是訊息系統。Java 訊息服務 (JMS) 是 Java 提供的一個 API,用於在應用程式中實現訊息系統。JMS 支援佇列和釋出/訂閱 (主題) 訊息系統。對於佇列,當第一個消費者消費訊息後,訊息會從佇列中刪除,其他消費者無法再獲取它。對於主題,多個消費者可以接收每條訊息,但其可擴充套件性要困難得多。
Kafka 是對這兩個概念的推廣——它允許在同一個消費者組的成員之間進行擴充套件,但也允許在許多不同的消費者組之間廣播相同的訊息。Kafka 還提供在新的消費者加入或離開消費者組時的自動再平衡。
| 序號 | 關鍵點 | Apache Kafka | JMS |
|---|---|---|---|
| 1 | 基礎 | Apache Kafka 是一個分散式釋出-訂閱訊息系統,它接收來自不同來源系統的資料,並即時地將資料提供給目標系統。 | Java 訊息服務 (JMS) 是 Java 提供的一個 API,用於在應用程式中實現訊息系統。 |
| 2 | 拉取/推送機制 | 它使用拉取機制,客戶端需要每次輪詢訊息 | 它使用基於推送的模型,訊息可以廣播到所有消費者 |
| 3 | 訊息保留策略 | 基於策略 | 基於確認 |
| 4. | 自動再平衡 | 當新的消費者新增到消費者組或從消費者組中移除時,它提供自動再平衡 | 它不提供自動再平衡 |
| 5 | 訊息順序 | Kafka 確保訊息按分割槽級別傳送的順序接收 | JMS 不支援訊息排序。 |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP