溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Kafka

發(fā)布時間:2021-10-14 09:36:52 來源:億速云 閱讀:146 作者:iii 欄目:編程語言

這篇文章主要講解了“怎么使用Kafka”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用Kafka”吧!

1.1 定義

Kafka 是一個分布式的基于發(fā)布/訂閱模式的消息隊列(Message Queue),主要應用于大數(shù)據(jù)實時處理領域。

1.2 消息隊列

傳統(tǒng)消息隊列的應用場景

怎么使用Kafka

使用消息隊列的好處
  1. 解耦 允許你獨立的擴展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。

  2. 可恢復性 系統(tǒng)的一部分組件失效時,不會影響到整個系統(tǒng)。消息隊列降低了進程間的耦合度,所以即使一個處理消息的進程掛掉,加入隊列中的消息仍然可以在系統(tǒng)恢復后被處理。

  3. 緩沖 有助于控制和優(yōu)化數(shù)據(jù)流經(jīng)過系統(tǒng)的速度, 解決生產(chǎn)消息和消費消息的處理速度不一致的情況

  4. 靈活性 & 峰值處理能力 在訪問量劇增的情況下,應用仍然需要繼續(xù)發(fā)揮作用,但是這樣的突發(fā)流量并不常見。如果為以能處理這類峰值訪問為標準來投入資源隨時待命無疑是巨大的浪費。使用消息隊列能夠使關鍵組件頂住突發(fā)的訪問壓力,而不會因為突發(fā)的超負荷的請求而完全崩潰。

  5. 異步通信 很多時候,用戶不想也不需要立即處理消息。消息隊列提供了異步處理機制,允許用戶把一個消息放入隊列,但并不立即處理它。想向隊列中放入多少消息就放多少,然后在需要的時候再去處理它們。

消息隊列的兩種模式
  1. 點對點模式(一對一,消費者主動拉取數(shù)據(jù),消息收到后消息清除) 消息生產(chǎn)者生產(chǎn)消息發(fā)送到Queue中, 然后消息消費者從Queue中取出并且消費消息。消息被消費以后, queue 中不再有存儲,所以消息消費者不可能消費到已經(jīng)被消費的消息。Queue 支持存在多個消費者,但是對一個消息而言,只會有一個消費者可以消費。 怎么使用Kafka

  2. 發(fā)布/訂閱模式(一對多,消費者消費數(shù)據(jù)之后不會清除消息) 消息生產(chǎn)者(發(fā)布)將消息發(fā)布到 topic 中,同時有多個消息消費者(訂閱)消費該消息。和點對點方式不同,發(fā)布到 topic 的消息會被所有訂閱者消費。 

怎么使用Kafka

  1. Producer : 消息生產(chǎn)者,就是向 kafka broker 發(fā)消息的客戶端;

  2. Consumer : 消息消費者,向 kafka broker 取消息的客戶端;

  3. Consumer Group (CG): 消費者組,由多個 consumer 組成。 消費者組內每個消費者負責消費不同分區(qū)的數(shù)據(jù),一個分區(qū)只能由一個組內消費者消費;消費者組之間互不影響。 所有的消費者都屬于某個消費者組,即消費者組是邏輯上的一個訂閱者。

  4. Broker : 一臺 kafka 服務器就是一個 broker。一個集群由多個 broker 組成。一個 broker可以容納多個 topic。

  5. **Topic **: 可以理解為一個隊列, 生產(chǎn)者和消費者面向的都是一個 topic;

  6. Partition: 為了實現(xiàn)擴展性,一個非常大的 topic 可以分布到多個 broker(即服務器)上,一個 topic 可以分為多個 partition,每個 partition 是一個有序的隊列;

  7. Replica: 副本,為保證集群中的某個節(jié)點發(fā)生故障時, 該節(jié)點上的 partition 數(shù)據(jù)不丟失,且 kafka 仍然能夠繼續(xù)工作, kafka 提供了副本機制,一個 topic 的每個分區(qū)都有若干個副本,一個 leader 和若干個 follower。

  8. leader: 每個分區(qū)多個副本的“主”,生產(chǎn)者發(fā)送數(shù)據(jù)的對象,以及消費者消費數(shù)據(jù)的對象都是 leader。

  9. follower: 每個分區(qū)多個副本中的“從”,實時從 leader 中同步數(shù)據(jù),保持和 leader 數(shù)據(jù)的同步。 leader 發(fā)生故障時,某個 follower 會成為新的 follower。

感謝各位的閱讀,以上就是“怎么使用Kafka”的內容了,經(jīng)過本文的學習后,相信大家對怎么使用Kafka這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI