大数据技术之 Kafka (第 1 章 Kafka 概述)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第 1 章 Kafka 概述??
1.1 定義?
Kafka 是一個分布式的基于發布/訂閱模式的消息隊列(Message Queue),主要應用于大數據實時處理領域。?
1.2 消息隊列?
1.2.1 傳統消息隊列的應用場景?
MQ傳統應用場景之異步處理
使用消息隊列的好處?
1)解耦?
允許你獨立的擴展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。?
2)可恢復性?
系統的一部分組件失效時,不會影響到整個系統。消息隊列降低了進程間的耦合度,所以即使一個處理消息的進程掛掉,加入隊列中的消息仍然可以在系統恢復后被處理。? ? ?
3)緩沖? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 有助于控制和優化數據流經過系統的速度,解決生產消息和消費消息的處理速度不一致的情況。?
4)靈活性 & 峰值處理能力?
在訪問量劇增的情況下,應用仍然需要繼續發揮作用,但是這樣的突發流量并不常見。如果為以能處理這類峰值訪問為標準來投入資源隨時待命無疑是巨大的浪費。使用消息隊列能夠使關鍵組件頂住突發的訪問壓力,而不會因為突發的超負荷的請求而完全崩潰。?
5)異步通信?
很多時候,用戶不想也不需要立即處理消息。消息隊列提供了異步處理機制,允許用戶把一個消息放入隊列,但并不立即處理它。想向隊列中放入多少消息就放多少,然后在需要的時候再去處理它們。?
1.2.2 消息隊列的兩種模式?
(1)點對點模式(一對一,消費者主動拉取數據,消息收到后消息清除)?消息生產者生產消息發送到Queue中,然后消息消費者從Queue中取出并且消費消息。?消息被消費以后,queue 中不再有存儲,所以消息消費者不可能消費到已經被消費的消息。
Queue 支持存在多個消費者,但是對一個消息而言,只會有一個消費者可以消費。
?
(2)發布/訂閱模式(一對多,消費者消費數據之后不會清除消息)?消息生產者(發布)將消息發布到 topic 中,同時有多個消息消費者(訂閱)消費該消息。和點對點方式不同,發布到 topic 的消息會被所有訂閱者消費。?
發布訂閱:1,消息隊列主動推送(消費者消費速度不一樣,會造成有的資源浪費,有點處理不過來),2,主動拉取(維護著長輪詢策略,如隊列沒有數據,也要取訪問隊列)
kafka又是基于發布訂閱模式,主動拉取數據,維護著長輪詢策略,缺點:如隊列沒有數據,也要取訪問隊列
1.3 Kafka 基礎架構?
1)Producer :消息生產者,就是向 kafka broker 發消息的客戶端;?
2)Consumer :消息消費者,向 kafka broker 取消息的客戶端;?
3)Consumer Group (CG):消費者組,由多個 consumer 組成。消費者組內每個消費者負責消費不同分區的數據,一個分區只能由一個組內消費者消費;消費者組之間互不影響。所有的消費者都屬于某個消費者組,即消費者組是邏輯上的一個訂閱者。?
4)Broker :一臺 kafka 服務器就是一個 broker。一個集群由多個 broker 組成。一個 broker可以容納多個 topic。?
5)Topic :可以理解為一個隊列,生產者和消費者面向的都是一個 topic;?
6)Partition:為了實現擴展性,一個非常大的 topic 可以分布到多個 broker(即服務器)上,一個 topic 可以分為多個 partition,每個 partition 是一個有序的隊列;?
7)Replica:副本,為保證集群中的某個節點發生故障時,該節點上的 partition 數據不丟失,且 kafka 仍然能夠繼續工作,kafka 提供了副本機制,一個 topic 的每個分區都有若干個副本,一個 leader 和若干個 follower。?
8)leader:每個分區多個副本的“主”,生產者發送數據的對象,以及消費者消費數據的對象都是 leader。?
9)follower:每個分區多個副本中的“從”,實時從 leader 中同步數據,保持和 leader 數據的同步。leader 發生故障時,某個 follower 會成為新的 follower。?
總結
以上是生活随笔為你收集整理的大数据技术之 Kafka (第 1 章 Kafka 概述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS简介、行内样式、内部样式、外部样式
- 下一篇: 电路 晶振频率_都说晶振是电路的心脏,你