欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

kafka不支持讀寫分離原理分析

 更新時(shí)間:2023年11月07日 10:08:06   作者:cartoon  
這篇文章主要為大家介紹了kafka不支持讀寫分離原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

前段時(shí)間在看 kafka 相關(guān)內(nèi)容,發(fā)現(xiàn) kafka “所有的”讀寫流量都在主 partition 上,從 partition 只負(fù)責(zé)備份數(shù)據(jù)。

那么為什么 kafka 從 partition 不跟其他中間件一樣承接讀流量?

讀寫分離的初衷

讀寫分離的初衷我覺(jué)得是利用讀流量 & 寫流量不同的特性做針對(duì)性的優(yōu)化,而這兩種流量我覺(jué)得區(qū)別如下

讀流量寫流量
業(yè)務(wù)特性展示類的業(yè)務(wù)操作類業(yè)務(wù)
流量占比
可接受數(shù)據(jù)延遲較大非常小
增長(zhǎng)的可預(yù)見(jiàn)性高峰/安全攻擊可能會(huì)突發(fā)增長(zhǎng)總體平穩(wěn)

使用 kafka 的業(yè)務(wù)特征

  • 操作型業(yè)務(wù),consumer 消費(fèi) producer 生產(chǎn)的消息,進(jìn)行自身業(yè)務(wù),這個(gè)消息就類似于 trigger
  • 可支撐的流量較大,并且可支撐下游 consumer 較多,rebalance 需要一定的時(shí)間

kafka 架構(gòu)

  • 以 topic 為單位,一 topic 可拆分多個(gè) partition,每個(gè) partition 都可以有多個(gè)從 partition,不同 partition 分布在不同 broker 上
  • 以 partition 為單位,形成 AR(Assigned Repllicas),ISR(In Sync Repllicas),OSR(Out Sync Repllicas),主 partition 接收到消息后按照 ack 策略同步到 ISR 中從 partition

    ack = 0,producer 發(fā)出消息后就不管了

    ack = 1,producer 發(fā)出消息寫入主 partition 所在 broker 的磁盤就算成功

    ack = all,producer 發(fā)出消息寫入主 partition 以及 ISR 上所有副 partition 的磁盤才算成功

kafka 沒(méi)有主從讀寫分離的原因

  • 不能主從讀寫分離的原因

    kafka 承接的大多是操作型業(yè)務(wù),這部分讀操作對(duì)數(shù)據(jù)延遲非常敏感。

    kafka 主從同步為半同步復(fù)制,并且有部分 partition 在 OSR 上,數(shù)據(jù)延遲較大

    kafka 主 partition 接收到消息后,可以根據(jù) ack 策略落盤,如果不是 all 的話存在數(shù)據(jù)丟失的風(fēng)險(xiǎn)

  • 不需要主從讀寫分離的原因

    kafka 本身就是多 partition 的架構(gòu),不同 parition 在不同的 broker 上,多主節(jié)點(diǎn)的結(jié)構(gòu)本身分流了流量

    kafka 本身就有成熟的 rebalance 機(jī)制,partition 上線與下線都比較無(wú)感

以上就是kafka不支持讀寫分離原理分析的詳細(xì)內(nèi)容,更多關(guān)于kafka不支持讀寫分離的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • archlinux 羅技K380 F1-F12 功能鍵鎖定(實(shí)現(xiàn)方法)

    archlinux 羅技K380 F1-F12 功能鍵鎖定(實(shí)現(xiàn)方法)

    這篇文章主要介紹了archlinux 羅技K380 F1-F12 功能鍵鎖定,在windows中羅技K380可以安裝Logitech Options來(lái)實(shí)現(xiàn)這個(gè)Fn鎖定功能,需要的朋友可以參考下
    2023-04-04
  • HTTP請(qǐng)求首部字段及響應(yīng)首部字段詳解

    HTTP請(qǐng)求首部字段及響應(yīng)首部字段詳解

    這篇文章主要介紹了HTTP請(qǐng)求首部字段及響應(yīng)首部字段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Git基本概述

    Git基本概述

    本文主要介紹了Git的基礎(chǔ)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • git中commit和push的區(qū)別及說(shuō)明

    git中commit和push的區(qū)別及說(shuō)明

    這篇文章主要介紹了git中commit和push的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 一不小心git rebase后出現(xiàn)(master|REBASE 1/10)的問(wèn)題及解決辦法

    一不小心git rebase后出現(xiàn)(master|REBASE 1/10)的問(wèn)題及解決辦法

    這篇文章主要介紹了一不小心git rebase后出現(xiàn)(master|REBASE 1/10)的問(wèn)題及解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • git回退并提交部分修改文件方式

    git回退并提交部分修改文件方式

    本文介紹了如何使用Git進(jìn)行版本回退和代碼提交,首先,通過(guò)回退到指定commit,保留工作區(qū)代碼,接著,使用git status查看倉(cāng)庫(kù)狀態(tài),將修改的文件通過(guò)git add添加到緩存區(qū),最后,提交緩存區(qū)的修改到遠(yuǎn)程倉(cāng)庫(kù),這些操作幫助開(kāi)發(fā)者有效管理代碼版本和修改
    2024-10-10
  • vscode代碼格式化和eslint的使用

    vscode代碼格式化和eslint的使用

    這篇文章主要介紹了vscode代碼格式化和eslint的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • VsCode中ctrl+s后會(huì)在當(dāng)前目錄下自動(dòng)生成dist目錄的方法

    VsCode中ctrl+s后會(huì)在當(dāng)前目錄下自動(dòng)生成dist目錄的方法

    這篇文章主要介紹了VsCode中ctrl+s后會(huì)在當(dāng)前目錄下自動(dòng)生成dist目錄,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解文法的定義與分類(編譯原理)

    詳解文法的定義與分類(編譯原理)

    計(jì)算機(jī)的語(yǔ)言具有嚴(yán)格的語(yǔ)法、語(yǔ)義,易于形式化的特征,這篇文章主要介紹了詳解文法的定義與分類(編譯原理),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • VS?Code快速生成html(頭部)模板圖文教程

    VS?Code快速生成html(頭部)模板圖文教程

    這篇文章主要給大家介紹了關(guān)于VS?Code快速生成html(頭部)模板的相關(guān)資料,為了避免簡(jiǎn)單的重復(fù)勞動(dòng),借助VSCODE 快速生成文件頭部,在項(xiàng)目搭建中體驗(yàn)非常舒適,需要的朋友可以參考下
    2023-11-11

最新評(píng)論