發布訂閱的對象是主題(Topic)
向主題發布消息的客戶端應用程序稱為生產者(Producer),生產者可以持續不斷地向多個主題發送消息
訂閱這些主題消息的客戶端應用程序稱為消費者(Consumer),消費者能夠同時訂閱多個主題的消息
Kafka的服務端由被稱為Broker的服務進程構成,一個Kafka集群由多個Broker組成
Broker負責接收和處理客戶端發送過來的請求,以及對消息進行持久化
實現高可用的另一個手段是備份機制(Replication)
備份:把相同的數據拷貝到多臺機器上,這些相同的數據拷貝在Kafka中被稱為副本(Replica)
Kafka中的分區機制是將每個主題劃分成多個分區(Partition),每個分區是一組有序的消息日志
生產者生產的每條消息只會被發送到一個分區中,Kafka的分區編號是從0開始的
副本是在分區這個層級定義的,每個分區下可以配置N個副本,只能有1個領導者副本和N-1個追隨者副本
生產者向分區(分區的領導者副本)寫入消息,每條消息在分區中的位置由位移(Offset)來表征,而分區位移總是從0開始
點對點模型(Peer to Peer,P2P):同一條消息只能被下游的一個消費者消費,其他消費者不能染指
引入消費者組的目的:提高消費者端的吞吐量(TPS)
消費者實例(Consumer Instance):即可以是運行消費者應用的進程,也可以是一個線程
消息(Record):消息是Kafka處理的主要對象
主題(Topic):主題是承載消息的邏輯容器,實際使用中多用來區分具體的業務
分區(Partition):一個有序不變的消息序列,每個主題下有多個分區
消息位移(Offset):也叫分區位移,表示一條消息在分區中的位置,是一個單調遞增且不變的值
生產者(Producer):向主題發布消息的應用程序
消費者(Consumer):從主題訂閱消息的應用程序
消費者位移(Consumer Offset):表征消費者的消費進度,每個消費者都有自己的消費者位移
消費者組(Consumer Group):多個消費者實例共同組成一個組,同時消費多個分區以實現高吞吐
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。