Kafka學習筆記(一) 初識

2021-08-19 23:23:18 字數 804 閱讀 5624

上游模組或系統產生資料,下游模組或系統使用資料、分析資料、計算資料,這樣的就可以使用訊息系統。

我個人認為就是,可以非同步處理,乙個管生產、乙個管消費,關係基本穩定不會倒置,就可以使用訊息系統。

還有一種場景就是,把資料放到訊息中介軟體裡存放,不存放在資料庫裡。這些資料順序存在訊息中介軟體,反而比存在資料庫隨機讀寫效率要快。

kafka現在可以和apache flume(日誌收集系統)、apache storm(實時資料處理)、spark(記憶體資料處理)、elasticsearch(全文檢索系統)可以做到無縫對接。

可以看到activemq 和 kafka都是使用基於jvm的語言編寫

rabbitmq使用erlang和go語言差不多,本身就支援高併發。但嚴格遵守amqp協議,所以受到約束,效能反而不如kafka整體效能高

kafka主要目標是高效能,自己設計並使用了一種協議,並不主流。仿amqp

事務,只有activemq支援。rabbitmq和kafka為追求更高的效能,犧牲了事務的特性

負載均衡:要把請求分發到集群,避免某台機器上壓力過大,甚至宕機

kafka的動態擴容是通過zookeeper來實現的。

zookeeper是廣泛應用在分布式系統中,用來管理分布式狀態管理、分布式心跳管理、分布式配置管理、分布式鎖服務的集群

kafka動態擴容時,在zookeeper的節點上觸發相應的事件,kafka會捕獲這些事件,進行新一輪的負載均衡,客戶端捕獲這些事件進行相應的自定義處理,

學習筆記 Kafka

kafka kafka把資料往磁碟上寫,但是在磁碟上存它的讀寫速度比記憶體快,這個依賴於預讀和後寫功能,但是這個預讀和後寫必須是按照順序的方式,若沒有順序的方式優化的話,不存在什麼預讀和後寫。特點 訊息持久化 能落到磁碟 通過o 1 的磁碟資料結構提供資料的持久化 高吞吐量 分布式 擴充套件能力強 ...

Kafka學習筆記

1.1簡介 apache kafka 是分布式發布 訂閱訊息系統 訊息中介軟體 它最初由 linkedin 公司開發,之後成為 apache 專案的一部分。kafka 是一種快速 可擴充套件的 設計內在就是分布式的,分割槽的和可複製的提交日誌服務。apache kafka 與傳統訊息系統相比,有以下...

kafka學習筆記

1.1 kafka的特性 controller在zookeeper註冊watch zookeeper管理kakfabroker集群。所有的kafkabroker節點一起去zookeeper上註冊乙個臨時節點,只有乙個能成功,成功註冊的節點稱之為 kafkabrokercontroller,其餘的稱之...