(一)分布式流平台之kafka 設計思想

2021-09-12 08:45:31 字數 505 閱讀 2622

kafka的訊息資料怎麼才能滿足企業中各種應用場景的需求呢? 消費者組橫向伸縮

乙個主題可以被多個消費者組訂閱,各個企業有乙個消費者組,訂閱訊息,消費者組可以橫向伸縮,從而減輕消費者負載。

kafka如何保證訊息的海量儲存,及快速查詢,和單點故障呢? 分片+副本

訊息在儲存時,是根據每個訊息的key進行 hash(key)%分割槽數(此hash演算法是kafka自己實現和jdk無關)計算出對應的分割槽,進行儲存

同乙個主題的訊息可以儲存在不同的分割槽下。實現橫向擴充套件。

每個分割槽有自己的副本,解決資料的單點故障問題。

kafka如何生產資料?訊息key+批次

首先指定訊息的主題和鍵值對。

根據key計算分割槽

訊息先快取在本地,經過序列化後,分批次傳送到broker

kafka如何實現多個消費者消費同乙個訊息呢?

訊息被寫入到磁碟中,預設儲存7天

消費者把每個分割槽最後讀取的訊息偏移量儲存在zookeeper或kafka中

一 分布式鎖

drop table ifexists method lock create table method lock id int 11 unsigned not null auto increment comment 主鍵 method name varchar 64 not null comment...

一 分布式鎖基礎

分布式鎖是控制分布式系統之間同步訪問共享資源的一種方式。在分布式系統中,常常需要協調他們的動作。如果不同的系統或是同乙個系統的不同主機之間共享了乙個或一組資源,那麼訪問這些資源的時候,往往需要互斥來防止彼此干擾來保證一致性,這個時候,便需要使用到分布式鎖。簡單的說在分布式系統下,有效的資源保證一致性...

分布式儲存架構一 分布式儲存概念

分布式儲存系統是由大量廉價普通pc伺服器通過internet互聯,對外作為乙個整體提供服務的系統。它的規模大且成本低。分布式儲存系統的特性 分布式儲存系統挑戰主要在於資料 狀態資訊的持久化,要求在自動遷移 自動容錯 併發讀寫的過程中保證資料的一致性。資料分布均勻 資料一致性 容錯能力 事務與併發控制...