iT邦幫忙

3

Kafka 訊息訂閱發布系統 簡介 - 入門篇

  • 分享至 

  • xImage
  •  

什麼是Kafka?

Kafka是由Apache軟體基金會開發的一個開源流處理平台,由Scala和Java編寫。

該專案的目標是為處理即時資料提供一個統一、高吞吐、低延遲的平台。

此外,Kafka可以通過Kafka Connect連接到外部系統(用於資料輸入/輸出),並提供了Kafka Streams—一個Java串流處理庫。

Apache Kafka 是一個可擴展的發布-訂閱訊息系統(publish-subscribe messaging system),其核心架構是分佈式提交日誌。


什麼是訊息系統?
訊息系統負責將數據從一個應用程序傳輸到另一個應用程序,因此應用程序可以專注於數據,但不必擔心如何共享數據。

  • 點對點訊息系統:訊息傳出方將訊息數據發送給訊息隊列(Message Queue),然後由消費者,也就是訊息接收方去進行消費;但是這裡會存在一個訊息只能被消費一次,當一個訊息數據被消費後,這個訊息數據會在訊息隊列中消失。

  • 發佈-訂閱訊息系統:發布者將訊息數據持久化到數據隊列中,由多個訂閱者去消費。數據被消費後,不會被topic刪除,而且發送到topic中的訊息數據可以被所有訂閱者消費,這也是發布訂閱訊息系統和點對點訊息系統最大的區別。


為何要使用Kafka?

  • 近幾年大數據興起,關於大數據,主要有兩個主要挑戰。第一個挑戰是如何收集大量數據,第二個挑戰是分析收集的數據。 為了克服這些挑戰,需要使用訊息傳遞系統

  • 針對大量用戶的訊息,提高訊息的存儲速度

  • Kafka專為分佈式高吞吐量系統而設計

  • Kafka傾向於非常好地取代傳統的信息中間服務者。 與其他訊息傳遞系統相比,Kafka具有更好的吞吐量,內置分區,複製和固有容錯功能,因此非常適合大型訊息處理應用程序


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言