Kafka分布式訊息系統

2021-07-10 18:23:36 字數 1278 閱讀 9825



什麼是apache kafka?

系統應用

使用者的活動資料、請求

資料、互動資料

、執行維護資料如效能

監測、伺服器cpu

指標這些大量的資料都在無時無刻的產生,

kafka

便是有著一套成熟的訊息處理方案的訊息系統,支援

高吞吐量的

分布式發布訂閱訊息

模式,它可以處理消費者規模的**中的所有動作流資料

。也是apache的頂級開源框架。

具體在專案中的應用部署,kafka主要應用在資料計算框架和客戶端請求中間,前端程式將訊息push到kafka 伺服器集群的某一broker中,通過訂閱模式,資料處理框架從kafka中獲取資料進行計算。

amqp協議:

advanced message queuing protocol

,高階訊息佇列協議

提供了訊息互動規範,它和kafka或這rabbitmq、activemq的關係就類如jpa規範和hibernate以及多個實現jpa規範的持久層框架一樣。

kafka架構:

producer

:訊息生產者,

負責發布訊息到

kafka

broker

broker

:kafka以集群的方式執行,可以由乙個或多個服務組成,每個服務叫做乙個broker.

consumer

:訊息消費者,向

kafka

broker讀取訊息。

kafka的訊息分兩個層次:

topic:

kafka將訊息以topic為單位進行組織。

如同生活中我們將訊息分類為娛樂訊息、體育訊息、財經訊息,kafka將一種訊息類別組織為乙個topic,一般系統以不同業務將訊息進行topic劃分。

partition:

乙個topic中的訊息資料按照多個分割槽進行組織,分割槽是kafka訊息佇列的最小組織單位。按照先進先出fifo佇列進行訊息管理。

分布式訊息系統Kafka初步

在我們大量使用分布式資料庫 分布式計算集群的時候,是否會遇到這樣的一些問題 l 我想分析一下使用者行為 pageviews 以便我能設計出更好的廣告位 l 有些資料,我覺得存資料庫浪費,直接存硬碟又怕到時候操作效率低。這個時候,我們就可以用到分布式訊息系統了。雖然上面的描述更偏向於乙個日誌系統,但確...

分布式訊息系統Kafka初步

在我們大量使用分布式資料庫 分布式計算集群的時候,是否會遇到這樣的一些問題 l 我想分析一下使用者行為 pageviews 以便我能設計出更好的廣告位 l 有些資料,我覺得存資料庫浪費,直接存硬碟又怕到時候操作效率低。這個時候,我們就可以用到分布式訊息系統了。雖然上面的描述更偏向於乙個日誌系統,但確...

分布式訊息系統Kafka初步

在我們大量使用分布式資料庫 分布式計算集群的時候,是否會遇到這樣的一些問題 l 我想分析一下使用者行為 pageviews 以便我能設計出更好的廣告位 l 有些資料,我覺得存資料庫浪費,直接存硬碟又怕到時候操作效率低。這個時候,我們就可以用到分布式訊息系統了。雖然上面的描述更偏向於乙個日誌系統,但確...