什麼是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 有些資料,我覺得存資料庫浪費,直接存硬碟又怕到時候操作效率低。這個時候,我們就可以用到分布式訊息系統了。雖然上面的描述更偏向於乙個日誌系統,但確...