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

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

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

3天內不再提示

Kafka的四個基礎概念學習

汽車玩家 ? 來源:簡書 ? 作者:我沒有三顆心臟 ? 2020-05-03 18:20 ? 次閱讀

Kafka 創建背景

Kafka是一個消息系統,原本開發自 LinkedIn,用作 LinkedIn 的活動流(Activity Stream)和運營數據處理管道(Pipeline)的基礎。現在它已被多家不同類型的公司 作為多種類型的數據管道和消息系統使用。

活動流數據是幾乎所有站點在對其網站使用情況做報表時都要用到的數據中最常規的部分。活動數據包括頁面訪問量(Page View)、被查看內容方面的信息以及搜索情況等內容。這種數據通常的處理方式是先把各種活動以日志的形式寫入某種文件,然后周期性地對這些文件進行統計分析。運營數據指的是服務器的性能數據(CPU、IO 使用率、請求時間、服務日志等等數據)。運營數據的統計方法種類繁多。

近年來,活動和運營數據處理已經成為了網站軟件產品特性中一個至關重要的組成部分,這就需要一套稍微更加復雜的基礎設施對其提供支持。

Kafka 簡介

Kafka 是一種分布式的,基于發布 / 訂閱的消息系統。主要設計目標如下:

以時間復雜度為 O(1) 的方式提供消息持久化能力,即使對 TB 級以上數據也能保證常數時間復雜度的訪問性能。

高吞吐率。即使在非常廉價的商用機器上也能做到單機支持每秒 100K 條以上消息的傳輸。

支持 Kafka Server 間的消息分區,及分布式消費,同時保證每個 Partition 內的消息順序傳輸。

同時支持離線數據處理和實時數據處理。

Scale out:支持在線水平擴展。

Kafka 基礎概念

概念一:生產者與消費者

Kafka的四個基礎概念學習

對于 Kafka 來說客戶端有兩種基本類型:生產者(Producer)和消費者(Consumer)。除此之外,還有用來做數據集成的 Kafka Connect API 和流式處理的 Kafka Streams 等高階客戶端,但這些高階客戶端底層仍然是生產者和消費者API,它們只不過是在上層做了封裝。

這很容易理解,生產者(也稱為發布者)創建消息,而消費者(也稱為訂閱者)負責消費or讀取消息。

概念二:主題(Topic)與分區(Partition)

Kafka的四個基礎概念學習

在 Kafka 中,消息以主題(Topic)來分類,每一個主題都對應一個「消息隊列」,這有點兒類似于數據庫中的表。但是如果我們把所有同類的消息都塞入到一個“中心”隊列中,勢必缺少可伸縮性,無論是生產者/消費者數目的增加,還是消息數量的增加,都可能耗盡系統的性能或存儲。

我們使用一個生活中的例子來說明:現在 A 城市生產的某商品需要運輸到 B 城市,走的是公路,那么單通道的高速公路不論是在「A 城市商品增多」還是「現在 C 城市也要往 B 城市運輸東西」這樣的情況下都會出現「吞吐量不足」的問題。所以我們現在引入分區(Partition)的概念,類似“允許多修幾條道”的方式對我們的主題完成了水平擴展。

概念三:Broker 和集群(Cluster)

一個 Kafka 服務器也稱為 Broker,它接受生產者發送的消息并存入磁盤;Broker 同時服務消費者拉取分區消息的請求,返回目前已經提交的消息。使用特定的機器硬件,一個 Broker 每秒可以處理成千上萬的分區和百萬量級的消息。(現在動不動就百萬量級..我特地去查了一把,好像確實集群的情況下吞吐量挺高的..摁..)

若干個 Broker 組成一個集群(Cluster),其中集群內某個 Broker 會成為集群控制器(Cluster Controller),它負責管理集群,包括分配分區到 Broker、監控 Broker 故障等。在集群內,一個分區由一個 Broker 負責,這個 Broker 也稱為這個分區的 Leader;當然一個分區可以被復制到多個 Broker 上來實現冗余,這樣當存在 Broker 故障時可以將其分區重新分配到其他 Broker 來負責。下圖是一個樣例:

Kafka的四個基礎概念學習

Kafka 的一個關鍵性質是日志保留(retention),我們可以配置主題的消息保留策略,譬如只保留一段時間的日志或者只保留特定大小的日志。當超過這些限制時,老的消息會被刪除。我們也可以針對某個主題單獨設置消息過期策略,這樣對于不同應用可以實現個性化。

概念四:多集群

隨著業務發展,我們往往需要多集群,通常處于下面幾個原因:

基于數據的隔離;

基于安全的隔離;

多數據中心(容災)

當構建多個數據中心時,往往需要實現消息互通。舉個例子,假如用戶修改了個人資料,那么后續的請求無論被哪個數據中心處理,這個更新需要反映出來。又或者,多個數據中心的數據需要匯總到一個總控中心來做數據分析。

上面說的分區復制冗余機制只適用于同一個 Kafka 集群內部,對于多個 Kafka 集群消息同步可以使用 Kafka 提供的 MirrorMaker 工具。本質上來說,MirrorMaker 只是一個 Kafka 消費者和生產者,并使用一個隊列連接起來而已。它從一個集群中消費消息,然后往另一個集群生產消息。

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

    關注

    0

    文章

    18

    瀏覽量

    14667
  • kafka
    +關注

    關注

    0

    文章

    53

    瀏覽量

    5363
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口 skyworksinc

    電子發燒友網為你提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口相關產品參數、數據手冊,更有
    發表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>頻前端模塊,帶<b class='flag-5'>四個</b>線性 TRx 開關端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口 skyworksinc

    電子發燒友網為你提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口相關產品參數、數據手冊,更有
    發表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>頻前端模塊,帶<b class='flag-5'>四個</b>線性 TRx 開關端口 skyworksinc

    用于頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四個線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc

    電子發燒友網為你提供()用于頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四個線性 TRx 開關端口和雙頻 TD-SCDMA相關產品參數、數據手冊,更有用于頻 GSM
    發表于 05-28 18:31
    用于<b class='flag-5'>四</b>頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四個</b>線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc

    ADS1211獲取四個通道全部數據的最短時間是多少?

    看pdf沒看出什么門道,想問下這款ADC四個差分通道同步采樣,獲取四個通道全部數據的最短時間是多少!
    發表于 02-10 07:24

    模數轉換電路的四個過程

    模數轉換(Analog-to-Digital Conversion,簡稱ADC)是將模擬信號轉換為數字信號的關鍵過程,廣泛應用于通信、數據采集、信號處理等領域。模數轉換電路的設計與實現涉及多個關鍵步驟,通常可以分為四個主要過程:采樣、保持、量化和編碼。本文將詳細分析這四個
    的頭像 發表于 02-03 16:12 ?1255次閱讀

    請問DAC3484四個通道能否獨立使用?

    請問,DAC3484 四個通道能否獨立使用?即當把DAC的NCO頻率設置為fs/2時,IQ兩通道是否就可以獨立了?
    發表于 01-23 07:35

    請問AD9852四個輸出口有什么差別?

    AD9852四個輸出口有什么差別?是不是IOUT1是余弦輸出,IOUT2是DAC控制輸出,需要設置DAC控制寄存器?
    發表于 01-16 06:59

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN這四個管腳什么作用呢?

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN這四個管腳什么作用呢,如果我用單端5V供電,2.5V基準源,是否要按照datasheet里那種用運放的接法嗎?
    發表于 01-01 06:39

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

    1、認識kafka 1.1 kafka簡介 Kafka?是一分布式流媒體平臺 kafka官網:http://
    的頭像 發表于 12-18 09:50 ?2582次閱讀
    超詳細“零”基礎<b class='flag-5'>kafka</b>入門篇

    智譜推出四個全新端側模型 攜英特爾按下AI普及加速鍵

    隨著AI的發展,端側AI模型越來越受到廣大客戶及廠商的關注,業界領先的大模型公司智譜于近日推出了四個全新的端側模型,加速AI前沿技術路徑與創新應用場景探索,推動AI大模型普惠化發展。 四個模型中
    的頭像 發表于 12-02 17:13 ?508次閱讀
    智譜推出<b class='flag-5'>四個</b>全新端側模型 攜英特爾按下AI普及加速鍵

    請問DAC3484的四個通道可以獨立使用嗎?如何實現?

    請問DAC3484的四個通道可以獨立使用嗎?如何實現?謝謝
    發表于 11-22 07:14

    Kafka高性能背后的技術原理

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

    實現2.5A驅動電流并提供四個可獨立控制的1/2H橋驅動芯片-SS8844T

    SS8844T是一款通道1/2H橋驅動芯片,提供四個可獨立控制的1/2H橋啟動器;可被用于驅動兩DC電機、一步進電機、四個螺線管或者其
    的頭像 發表于 10-23 09:32 ?582次閱讀
    實現2.5A驅動電流并提供<b class='flag-5'>四個</b>可獨立控制的1/2H橋驅動芯片-SS8844T

    請問PCM1863支持四個差分MIC同時輸入嗎?

    PCM1863支持四個差分MIC同時輸入嗎?
    發表于 10-21 08:01

    IGBT的四個主要參數

    IGBT的四個主要參數對于選擇合適的IGBT器件至關重要。本文將介紹IGBT的四個主要參數:電壓等級、電流等級、開關頻率和熱性能。 1. 電壓等級 電壓等級是IGBT的一重要參數,它決定了IGBT能夠承受的最大電壓。電壓等級的
    的頭像 發表于 07-25 11:05 ?7025次閱讀