女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Kafka的核心概念

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 作者:馬哥Linux運維 ? 2022-06-20 14:24 ? 次閱讀

Kafka 是主流的消息流系統(tǒng),其中的概念還是比較多的,下面通過圖示的方式來梳理一下 Kafka 的核心概念,以便在我們的頭腦中有一個清晰的認識。

01 基礎

Kafka 是一套流處理系統(tǒng)(也可以叫消息隊列),可以讓后端服務輕松地相互溝通,是微服務架構(gòu)中的常用組件。

d73d250e-efd4-11ec-ba43-dac502259ad0.jpg

02 生產(chǎn)者消費者

生產(chǎn)者服務 Producer 向 Kafka 發(fā)送消息,消費者服務 Consumer 監(jiān)聽 Kafka 接收消息。

d74b5980-efd4-11ec-ba43-dac502259ad0.jpg

一個服務可以同時為生產(chǎn)者和消費者。

d75cb8f6-efd4-11ec-ba43-dac502259ad0.jpg

03 Topics 主題

Topic 是生產(chǎn)者發(fā)送消息的目標地址,是消費者的監(jiān)聽目標。

d76a322e-efd4-11ec-ba43-dac502259ad0.jpg

一個服務可以監(jiān)聽、發(fā)送多個 Topics。

d785daa6-efd4-11ec-ba43-dac502259ad0.jpg

Kafka 中有一個【consumer-group(消費者組)】的概念。

這是一組服務,扮演一個消費者。

d79d6504-efd4-11ec-ba43-dac502259ad0.jpg

如果是消費者組接收消息,Kafka 會把一條消息路由到組中的某一個服務。

d7bbde76-efd4-11ec-ba43-dac502259ad0.jpg

這樣有助于消息的負載均衡,也方便擴展消費者。

Topic 扮演一個消息的隊列。首先,一條消息發(fā)送了。

d7ccbb06-efd4-11ec-ba43-dac502259ad0.jpg

然后,這條消息被記錄和存儲在這個隊列中,不允許被修改。

d7ef00d0-efd4-11ec-ba43-dac502259ad0.jpg

接下來,消息會被發(fā)送給此 Topic 的消費者。

但是,這條消息并不會被刪除,會繼續(xù)保留在隊列中。

d7fe1098-efd4-11ec-ba43-dac502259ad0.jpg

繼續(xù)發(fā)送消息。

d814eea8-efd4-11ec-ba43-dac502259ad0.jpg

像之前一樣,這條消息會發(fā)送給消費者,不允許被改動,一直呆在隊列中(消息在隊列中能待多久,取決于 Kafka 的配置)。

d825185a-efd4-11ec-ba43-dac502259ad0.jpg

d8426d9c-efd4-11ec-ba43-dac502259ad0.jpg

04 Partitions 分區(qū)

上面 Topic 的描述中,把 Topic 看做了一個隊列,實際上,一個 Topic 是由多個隊列組成的,被稱為【Partition(分區(qū))】。

這樣可以便于 Topic 的擴展。

d85453e0-efd4-11ec-ba43-dac502259ad0.jpg

生產(chǎn)者發(fā)送消息的時候,這條消息會被路由到此 Topic 中的某一個分區(qū)(Partition)。

d85f8152-efd4-11ec-ba43-dac502259ad0.jpg

消費者監(jiān)聽的是所有分區(qū)并消耗所有人的事件。

d879a960-efd4-11ec-ba43-dac502259ad0.jpg

生產(chǎn)者發(fā)送消息時,默認是面向 Topic 的,由 Topic 決定放在哪個 Partition,默認使用輪詢策略。

d889aef0-efd4-11ec-ba43-dac502259ad0.jpg

也可以配置 Topic,讓同類型的消息都在同一個 Partition。

例如,處理用戶消息,可以讓某一個用戶所有消息都在一個 Partition。

例如,用戶 1 發(fā)送了 3 條消息:A、B、C,默認情況下,這 3 條消息是在不同的 Partition 中(如 P1、P2、P3)。

在配置之后,可以確保用戶 1 的所有消息都發(fā)到同一個分區(qū)中(如 P1)。

d8a34644-efd4-11ec-ba43-dac502259ad0.jpg

這個功能有什么用呢?這是為了提供消息的【有序性】。

消息在不同的 Partition 是不能保證有序的,只有一個 Partition 內(nèi)的消息是有序的。

d8bd0782-efd4-11ec-ba43-dac502259ad0.jpg

d8cf8ca4-efd4-11ec-ba43-dac502259ad0.jpg

05 架構(gòu)

Kafka 是集群架構(gòu)的,ZooKeeper 是其重要組件。

d8f4aa84-efd4-11ec-ba43-dac502259ad0.jpg

ZooKeeper 管理著所有的 Topic 和 Partition。

Topic 和 Partition 存儲在 Node 物理節(jié)點中,ZooKeeper 負責維護這些 Node。

d907fc4c-efd4-11ec-ba43-dac502259ad0.jpg

例如,有 2 個 Topic,各自有 2 個 Partition。

d919a65e-efd4-11ec-ba43-dac502259ad0.jpg

這是邏輯上的形式,但在 Kafka 集群中的實際存儲可能是這樣的:

d92779aa-efd4-11ec-ba43-dac502259ad0.jpg

Topic A 的 Partition#1有 3 份,分布在各個 Node 上。

這樣可以增加 Kafka 的可靠性和系統(tǒng)彈性。

3 個 Partition#1中,ZooKeeper 會指定一個 Leader,負責接收生產(chǎn)者發(fā)來的消息。

d93a0c5a-efd4-11ec-ba43-dac502259ad0.jpg

其他 2 個 Partition #1 會作為 Follower,Leader 接收到的消息會復制給 Follower。

d958fc82-efd4-11ec-ba43-dac502259ad0.jpg

這樣,每個 Partition 都含有了全量消息數(shù)據(jù)。

d9782cf6-efd4-11ec-ba43-dac502259ad0.jpg

即使某個 Node 節(jié)點出現(xiàn)了故障,也不用擔心消息的損壞。

Topic A 和 Topic B 的所有 Partition 分布可能就是這樣的:

d98d59b4-efd4-11ec-ba43-dac502259ad0.jpg

這樣一來,你對 Kafka 的組件有了一個初步認識,更多關(guān)于 Kafka 或消息隊列的內(nèi)容,可以查閱相關(guān)資料,感謝您的閱讀,希望對您有所幫助。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    527

    瀏覽量

    25852
  • kafka
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    5361

原文標題:講真!Kafka 的原理竟是這樣的,一看就明白!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    Kafka工作流程及文件存儲機制

    Kafka 中消息是以 topic 進行分類的,生產(chǎn)者生產(chǎn)消息,消費者消費消息,都是面向 topic 的。
    的頭像 發(fā)表于 05-19 10:14 ?334次閱讀
    <b class='flag-5'>Kafka</b>工作流程及文件存儲機制

    Linux系統(tǒng)管理的核心概念

    在前一篇文章中,我們深入探討了Linux中的文件操作命令,如cp、mv、rm,以及文本處理命令grep、wc和管道符。本文將繼續(xù)深入Linux系統(tǒng)管理的核心概念,包括root用戶的角色、用戶和用戶組
    的頭像 發(fā)表于 05-15 17:05 ?181次閱讀

    華為云 FlexusX 實例下的 Kafka 集群部署實踐與性能優(yōu)化

    前言 華為云 FlexusX 實例,以創(chuàng)新的柔性算力技術(shù),為 Kafka 集群部署帶來前所未有的性能飛躍。其靈活的 CPU 與內(nèi)存配比,結(jié)合智能調(diào)度與加速技術(shù),讓 Kafka 在高并發(fā)場景下依然
    的頭像 發(fā)表于 01-07 17:23 ?383次閱讀
    華為云 FlexusX 實例下的 <b class='flag-5'>Kafka</b> 集群部署實踐與性能優(yōu)化

    docker 部署 kafka 及 ui 搭建

    建站、開發(fā)??測試環(huán)境、游戲服務器、音視頻服務等中低負載場景。 1.2 什么是 kafka 原文鏈接:https
    的頭像 發(fā)表于 01-03 09:30 ?333次閱讀
    docker 部署 <b class='flag-5'>kafka</b> 及 ui 搭建

    先進封裝的核心概念、技術(shù)和發(fā)展趨勢

    先進封裝簡介 先進封裝技術(shù)已成為半導體行業(yè)創(chuàng)新發(fā)展的主要推動力之一,為突破傳統(tǒng)摩爾定律限制提供了新的技術(shù)手段。本文探討先進封裝的核心概念、技術(shù)和發(fā)展趨勢[1]。 圖1展示了硅通孔(TSV)技術(shù)
    的頭像 發(fā)表于 12-18 09:59 ?1086次閱讀
    先進封裝的<b class='flag-5'>核心</b><b class='flag-5'>概念</b>、技術(shù)和發(fā)展趨勢

    超詳細“零”基礎kafka入門篇

    響應數(shù)據(jù)流的實時流應用程序 要了解Kafka如何做這些事情,讓我們深入探討Kafka的能力。 (3)首先是幾個概念
    的頭像 發(fā)表于 12-18 09:50 ?2540次閱讀
    超詳細“零”基礎<b class='flag-5'>kafka</b>入門篇

    鐵磁性的概念、產(chǎn)生機理、應用

    先進的計算和數(shù)據(jù)存儲設備等廣泛領域中發(fā)揮了不可或缺的作用。要理解鐵磁性的機制,需要深入研究控制電子行為的量子力學原理、原子間相互作用的本質(zhì)以及磁性特性在宏觀上的表現(xiàn)。 磁偶極子與磁化概念 鐵磁性的核心是磁偶極
    的頭像 發(fā)表于 12-06 16:36 ?2915次閱讀

    Docker和k8s的核心概念

    這是在HWL負責網(wǎng)校云業(yè)務線測試時,給同事分享的基礎概念文檔。
    的頭像 發(fā)表于 11-04 15:47 ?443次閱讀
    Docker和k8s的<b class='flag-5'>核心</b><b class='flag-5'>概念</b>

    具身智能的核心概念解析

    1. 具身性(Embodiment) 具身性是具身智能的一個核心概念,它強調(diào)智能行為不僅僅是大腦中抽象的計算過程,而是與身體和環(huán)境緊密相關(guān)。具身性認為,智能是通過身體與環(huán)境的互動而產(chǎn)生的,智能
    的頭像 發(fā)表于 10-27 09:52 ?1568次閱讀

    Linux應用編程的基本概念

    Linux應用編程涉及到在Linux環(huán)境下開發(fā)和運行應用程序的一系列概念。以下是一些涵蓋Linux應用編程的基本概念
    的頭像 發(fā)表于 10-24 17:19 ?561次閱讀

    智慧城市的核心概念與聯(lián)系

    智慧城市是指利用信息通信技術(shù)、大數(shù)據(jù)分析等現(xiàn)代科技手段,以提升城市管理效率、改善居民生活質(zhì)量為目標的城市發(fā)展模式。在 智慧城市 構(gòu)建過程中,有幾個核心概念與聯(lián)系需要被理解和把握: 1. 信息與通信
    的頭像 發(fā)表于 10-23 15:55 ?509次閱讀

    Kafka高性能背后的技術(shù)原理

    Kafka 是一款性能非常優(yōu)秀的消息隊列,每秒處理的消息體量可以達到千萬級別。
    的頭像 發(fā)表于 10-23 09:37 ?703次閱讀
    <b class='flag-5'>Kafka</b>高性能背后的技術(shù)原理

    諧波的概念及應用

    本文簡單介紹了諧波的概念及應用。
    的頭像 發(fā)表于 10-18 14:14 ?1149次閱讀
    諧波的<b class='flag-5'>概念</b>及應用

    S參數(shù)的概念及應用

    電子發(fā)燒友網(wǎng)站提供《S參數(shù)的概念及應用.pdf》資料免費下載
    發(fā)表于 08-12 14:29 ?0次下載

    循環(huán)神經(jīng)網(wǎng)絡的基本概念

    循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡,其核心思想是將前一個時間步的輸出作為下一個時間步的輸入,從而實現(xiàn)對序列數(shù)據(jù)的建模。本文將從
    的頭像 發(fā)表于 07-04 14:31 ?1199次閱讀