elasticsearch入門系列">elasticsearch入門系列
722
2022-05-28
一、Kafka簡介
Kafka是分布式發布-訂閱消息系統。它最初由LinkedIn公司開發,之后成為Apache項目的一部分。Kafka是一個分布式的,可劃分的,冗余備份的持久性的日志服務。它主要用于處理活躍的流式數據。
Kafka的特點有:
同時為發布和訂閱提供高吞吐量。據了解,Kafka每秒可以生產約25萬消息(50 MB),每秒處理55萬消息(110 MB)
可進行持久化操作。將消息持久化到磁盤,因此可用于批量消費,例如ETL,以及實時應用程序。通過將數據持久化到硬盤以及replication防止數據丟失
分布式系統,易于向外擴展。所有的producer、broker和consumer都會有多個,均為分布式的。無需停機即可擴展機器
消息被處理的狀態是在consumer端維護,而不是由server端維護。當失敗時能自動平衡。
支持online和offline的場景
二、Kafka使用場景
三、Kafka相關名稱介紹
下面是kafka集群通信圖:
是不是和MQTT協議很像,其實原理都一樣。
1.Topic
特指Kafka處理的消息源(feeds of messages)的不同分類。
2.Partition
Topic物理上的分組,一個topic可以分為多個partition,每個partition是一個有序的隊列。partition中的每條消息都會被分配一個有序的id(offset)。
3.Message
消息,是通信的基本單位,每個producer可以向一個topic(主題)發布一些消息。
4.Producers
消息和數據生產者,向Kafka的一個topic發布消息的過程叫做producers。
5.Consumers
消息和數據消費者,訂閱topics并處理其發布的消息的過程叫做consumers。
6.Broker
緩存代理,Kafka集群中的一臺或多臺服務器統稱為broker。
.NET Kafka 分布式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。