快速入門大資料訊息中介軟體
概 述
Kafka是最初由Linkedin公司開發,是一個分散式、分割槽的、多副本的、多訂閱者,基於zookeeper協調的分散式日誌系統(也可以當做MQ系統),常見可以用於web/nginx日誌、訪問日誌,訊息服務等等,Linkedin於2010年貢獻給了Apache基金會併成為頂級開源專案。 主要應用場景是:日誌收集系統和訊息系統。
釋出-訂閱訊息傳遞模式
在 Kafka 學習的時候,你首先要知道釋出訂閱的物件是主題(Topic)。向主題釋出訊息的客戶端應用程式稱為(Producer),生產者程式通常持續不斷地向一個或多個主題傳送訊息,而訂閱這些主題訊息的客戶端應用程式就被稱為(Consumer)。和生產者類似,消費者也能夠同時訂閱多個主題的訊息。我們把生產者和消費者統稱為客戶端(Clients)。你可以同時執行多個生產者和消費者例項,這些例項會不斷地向 Kafka 叢集中的多個主題生產和消費訊息。
在 Kafka 中,釋出訂閱的物件是主題(Topic),你可以為每個業務、每個應用甚至是每類資料都建立專屬的主題。向主題釋出訊息的客戶端應用程式稱為生產者(Producer),生產者程式通常持續不斷地向一個或多個主題傳送訊息,而訂閱這些主題訊息的客戶端應用程式就被稱為消費者(Consumer)。和生產者類似,消費者也能夠同時訂閱多個主題的訊息。我們把生產者和消費者統稱為客戶端(Clients)。你可以同時執行多個生產者和消費者例項,這些例項會不斷地向 Kafka 叢集中的多個主題生產和消費訊息。
在 Kafka 中,釋出訂閱的物件是主題(Topic),你可以為每個業務、每個應用甚至是每類資料都建立專屬的主題。向主題釋出訊息的客戶端應用程式稱為生產者(Producer),生產者程式通常持續不斷地向一個或多個主題傳送訊息,而訂閱這些主題訊息的客戶端應用程式就被稱為消費者(Consumer)。和生產者類似,消費者也能夠同時訂閱多個主題的訊息。我們把生產者和消費者統稱為客戶端(Clients)。你可以同時執行多個生產者和消費者例項,這些例項會不斷地向 Kafka 叢集中的多個主題生產和消費訊息。
kafka的優點
1、解耦 2、冗餘(持久化) 3、非同步通訊 4、快取 。。。。
什麼是消費者組
1、定義:即消費者組是 Kafka 提供的可擴充套件且具有容錯性的消費者機制。
2、原理:在 Kafka 中,消費者組是一個由多個消費者例項 構成的組。多個例項共同訂閱若干個主題,實現共同消費。同一個組下的每個例項都配置有 相同的組 ID,被分配不同的訂閱分割槽。當某個例項掛掉的時候,其他例項會自動地承擔起 它負責消費的分割槽。
設定 Kafka 能接收的最大訊息的大小
Broker 端引數:message.max.bytes、max.message.bytes(主題級別)和 replica.fetch.max.bytes。
Consumer 端引數:fetch.message.max.bytes。
監控 Kafka 的框架
- Kafka Manager:應該算是最有名的專屬 Kafka 監控框架了,是獨立的監控系統。
- Kafka Monitor:LinkedIn 開源的免費框架,支援對叢集進行系統測試,並實時監控測 試結果。
- CruiseControl:也是 LinkedIn 公司開源的監控框架,用於實時監測資源使用率,以及 提供常用運維操作等。無 UI 介面,只提供 REST API。
- JMX 監控:由於 Kafka 提供的監控指標都是基於 JMX 的,因此,市面上任何能夠整合 JMX 的框架都可以使用,比如 Zabbix 和 Prometheus。
- 已有大資料平臺自己的監控體系:像 Cloudera 提供的 CDH 這類大資料平臺,天然就提 供 Kafka 監控方案。
- JMXTool:社群提供的命令列工具,能夠實時監控 JMX 指標。答上這一條,屬於絕對 的加分項,因為知道的人很少,而且會給人一種你對 Kafka 工具非常熟悉的感覺。
名詞術語
1、訊息:Record。Kafka 是訊息引擎嘛,這裡的訊息就是指 Kafka 處理的主要物件。
2、主題:Topic。主題是承載訊息的邏輯容器,在實際使用中多用來區分具體的業務。
3、分割槽:Partition。一個有序不變的訊息序列。每個主題下可以有多個分割槽。
4、訊息位移:Offset。表示分割槽中每條訊息的位置資訊,是一個單調遞增且不變的值。
5、副本:Replica。Kafka 中同一條訊息能夠被拷貝到多個地方以提供資料冗餘,這些地方就是所謂的副本。副本還分為領導者副本和追隨者副本,各自有不同的角色劃分。副本是在分割槽層級下的,即每個分割槽可配置多個副本實現高可用。
6、生產者:Producer。向主題釋出新訊息的應用程式。
7、消費者:Consumer。從主題訂閱新訊息的應用程式。消費者位移:Consumer Offset。表徵消費者消費進度,每個消費者都有自己的消費者位移。消費者組:Consumer Group。多個消費者例項共同組成的一個組,同時消費多個分割槽以實現高吞吐。
部落格地址
https://blog.csdn.net/weixin_41563161
本文由部落格群發一文多發等運營工具平臺 OpenWrite 釋出
相關文章
- 訊息中介軟體RabbitMQ_RabbitMQ快速入門3MQ
- KingShard MySQL中介軟體快速入門MySql
- 訊息中介軟體
- 中介軟體之訊息中介軟體-pulsar
- 訊息中介軟體rabbitMQMQ
- 訊息中介軟體—RocketMQ訊息傳送MQ
- [分散式][訊息中介軟體]訊息中介軟體如何實現每秒幾十萬的高併發寫入分散式
- 分散式訊息中介軟體分散式
- 訊息中介軟體之ActiveMQMQ
- 訊息中介軟體選型
- 訊息中介軟體 — 使用場景
- 訊息中介軟體 — RocketMQ簡介MQ
- PHP 訊息中介軟體 工具庫PHP
- 解析訊息中介軟體之RabbitMQMQ
- 常見訊息中介軟體之RocketMQMQ
- 常見訊息中介軟體之ActiveMQMQ
- 深入訊息中介軟體選型分析
- 訊息中介軟體—RocketMQ訊息消費(三)(訊息消費重試)MQ
- 訊息中介軟體—RocketMQ的RPC通訊(一)MQRPC
- 從通訊開始聊聊訊息中介軟體
- 訊息中介軟體—Kafka 的設計思想Kafka
- 訊息中介軟體(RabbitMq、Kafka)分析比較MQKafka
- 訊息型中介軟體之RabbitMQ叢集MQ
- 訊息中介軟體通用化封裝封裝
- MQ系列:訊息中介軟體執行原理MQ
- 訊息中介軟體的應用場景
- 淺談訊息佇列及常見的訊息中介軟體佇列
- [大資料之Spark]——快速入門大資料Spark
- 深入理解阿里分散式訊息中介軟體阿里分散式
- 訊息型中介軟體之RabbitMQ基礎使用MQ
- 頭條終面:寫個訊息中介軟體
- 訊息中介軟體-kafka學習筆記一Kafka筆記
- 聊聊訊息中介軟體(1),AMQP那些事兒MQ
- nsqlookupd:高效能訊息中介軟體 NSQ 解析SQL
- .net core Redis訊息佇列中介軟體【InitQ】Redis佇列
- Nginx中介軟體——從小白到入門Nginx
- 大資料hadoop 新手快速入門經典視訊教程大資料Hadoop
- C#中的訊息中介軟體(RabbitMQ 和 Redis)C#MQRedis