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

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

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

引言

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

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

讀寫分離的初衷

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

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

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

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

kafka 架構(gòu)

  • 以 topic 為單位,一 topic 可拆分多個 partition,每個 partition 都可以有多個從 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 沒有主從讀寫分離的原因

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

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

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

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

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

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

    kafka 本身就有成熟的 rebalance 機制,partition 上線與下線都比較無感

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

相關文章

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

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

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

    HTTP請求首部字段及響應首部字段詳解

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

    Git基本概述

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

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

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

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

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

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

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

    vscode代碼格式化和eslint的使用

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

    VsCode中ctrl+s后會在當前目錄下自動生成dist目錄的方法

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

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

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

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

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

最新評論