国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Kafka的核心概念

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 作者:馬哥Linux運維 ? 2022-06-20 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

01 基礎

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

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

02 生產者消費者

生產者服務 Producer 向 Kafka 發送消息,消費者服務 Consumer 監聽 Kafka 接收消息。

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

一個服務可以同時為生產者和消費者。

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

03 Topics 主題

Topic 是生產者發送消息的目標地址,是消費者的監聽目標。

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

一個服務可以監聽、發送多個 Topics。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

繼續發送消息。

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

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

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

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

04 Partitions 分區

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

這樣可以便于 Topic 的擴展。

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

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

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

消費者監聽的是所有分區并消耗所有人的事件。

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

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

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

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

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

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

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

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

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

消息在不同的 Partition 是不能保證有序的,只有一個 Partition 內的消息是有序的。

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

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

05 架構

Kafka 是集群架構的,ZooKeeper 是其重要組件。

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

ZooKeeper 管理著所有的 Topic 和 Partition。

Topic 和 Partition 存儲在 Node 物理節點中,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 的可靠性和系統彈性。

3 個 Partition#1中,ZooKeeper 會指定一個 Leader,負責接收生產者發來的消息。

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

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

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

這樣,每個 Partition 都含有了全量消息數據。

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

即使某個 Node 節點出現了故障,也不用擔心消息的損壞。

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

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 架構
    +關注

    關注

    1

    文章

    532

    瀏覽量

    26589
  • kafka
    +關注

    關注

    0

    文章

    55

    瀏覽量

    5569

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ?UPS電源變壓全解析:工頻與高頻核心差異,選型不踩坑

    在UPS電源的穩定運行中,變壓環節是核心中的核心——它不僅負責實現電壓的轉換與匹配,更直接決定了設備的可靠性、適配場景以及運行效率。很多人在選擇UPS時,常常被“工頻”“高頻”的概念搞得一頭霧水
    的頭像 發表于 03-05 10:05 ?18次閱讀
    ?UPS電源變壓全解析:工頻與高頻<b class='flag-5'>核心</b>差異,選型不踩坑

    進程概念和特征

    進程的概念   在多道程序環境下,允許多個程序并發執行,此時它們將失去封閉性,并具有間斷性及不可再現性的特征。為此引入了進程(Process)的概念,以便更好地描述和控制程序的并發執行,實現操作系統
    發表于 01-15 06:39

    工程師之夜系列分享第三十九篇:Kafka、RocketMQ、JMQ 存儲架構深度對比

    引言 消息隊列的存儲架構是決定其可靠性、吞吐量、延遲性能的核心因素,直接影響業務場景適配能力。本文聚焦三款主流消息隊列 ——Kafka(LinkedIn 開源,側重高吞吐)、RocketMQ(阿里
    的頭像 發表于 01-13 16:19 ?180次閱讀
    工程師之夜系列分享第三十九篇:<b class='flag-5'>Kafka</b>、RocketMQ、JMQ 存儲架構深度對比

    Hudi系列:Hudi核心概念之索引(Indexs)

    Hudi系列:Hudi核心概念(版本1.0) ?Hudi架構 ?一. 時間軸(TimeLine)s ?1.1 時間軸(TimeLine)概念 ?1.2 Hudi的時間線由組成 ?1.3 時間線
    的頭像 發表于 10-21 09:47 ?387次閱讀
    Hudi系列:Hudi<b class='flag-5'>核心</b><b class='flag-5'>概念</b>之索引(Indexs)

    Hudi系列:Hudi核心概念之文件布局(Storage Layouts)

    Hudi系列:Hudi核心概念(版本1.0) ?Hudi架構 ?一. 時間軸(TimeLine) ?1.1 時間軸(TimeLine)概念 ?1.2 Hudi的時間線由組成 ?1.3 時間線
    的頭像 發表于 10-14 16:06 ?617次閱讀
    Hudi系列:Hudi<b class='flag-5'>核心</b><b class='flag-5'>概念</b>之文件布局(Storage Layouts)

    RK3576與RK3588核心板如何選型?1分鐘速通!#RK3576核心板 #RK3588核心

    核心
    廣州靈眸科技有限公司
    發布于 :2025年09月23日 17:31:12

    一文讀懂大模型常見的10個核心概念

    這些常見的專業術語,你又了解多少?這篇文章將幫助你快速掌握AI行業常見的核心概念。1、大模型型號每個大模型都有其獨特的設計和功能,有些大模型可能在語言理解方面表現出
    的頭像 發表于 09-22 17:02 ?1281次閱讀
    一文讀懂大模型常見的10個<b class='flag-5'>核心</b><b class='flag-5'>概念</b>

    《AI芯片:科技探索與AGI愿景》—— 深入硬件核心的AGI指南

    《AI芯片:科技探索與AGI愿景》一書如同一張詳盡的“藏寶圖”,為讀者指明了通往下一代人工智能的硬件之路。作者沒有停留在空洞的概念層面,而是直擊核心,從馮·諾依曼架構的“內存墻”瓶頸切入,清晰闡述了
    發表于 09-17 09:29

    CoWoP封裝的概念、流程與優勢

    本文介紹了CoWoP(Chip?on?Wafer?on?Substrate)封裝的概念、流程與優勢。
    的頭像 發表于 08-12 10:49 ?2880次閱讀
    CoWoP封裝的<b class='flag-5'>概念</b>、流程與優勢

    Kafka生產環境應用方案

    Apache Kafka作為分布式流處理平臺,在現代大數據架構中扮演著消息中間件的核心角色。本文將從運維工程師的角度,詳細介紹Kafka在生產環境中的部署方案、配置優化、監控運維等關鍵技術。通過實戰案例和代碼示例,幫助運維團隊構
    的頭像 發表于 07-09 09:56 ?582次閱讀

    第十三章 通訊的基本概念

    本章介紹通訊基本概念,包括串行/并行、全雙工/半雙工/單工、同步/異步通訊,還提及通訊速率中比特率與波特率的概念
    的頭像 發表于 05-22 17:29 ?2058次閱讀
    第十三章 通訊的基本<b class='flag-5'>概念</b>

    概念模擬電子電路(全彩版)

    《新概念模擬電子電路》,五部合集。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 05-19 16:17

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

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

    Linux系統管理的核心概念

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

    混合信號設計的概念、挑戰與發展趨勢

    本文介紹了集成電路設計領域中混合信號設計的概念、挑戰與發展趨勢。
    的頭像 發表于 04-01 10:30 ?1705次閱讀