1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        BRAFT工業(yè)級 Raft 一致性算法實現(xiàn)

        聯(lián)合創(chuàng)作 · 2023-09-23 12:30

        BRAFT 是百度開源的基于 BRPC 的 Raft 一致性算法和可復制狀態(tài)機的工業(yè)級 C++ 實現(xiàn)。最初是為了解決百度各業(yè)務線上的狀態(tài)服務單點隱患,后來則幫助百度工程師獨立實現(xiàn)支持高負載和低延遲的分布式系統(tǒng)。

        BRAFT 在百度內部被廣泛用于構建高可用性系統(tǒng),例如:

        • 存儲系統(tǒng):Key-Value、Block、Object、File ...

        • SQL 存儲:HA MySQL cluster、distributed transactions、NewSQL systems ...

        • Meta services:Various master modules、Lock services ...

        BRAFT 有以下特點:

        • BRAFT 是一個功能完備且經(jīng)過可靠性驗證的 Raft 實現(xiàn),支持 configuration change、prevote、leader transfer 等特性。

        • BRAFT 追求的核心目標是高性能,在實現(xiàn)的很多環(huán)節(jié)都進行了精細優(yōu)化,比如無鎖任務隊列、log 的批量提交和執(zhí)行以及一些邏輯原地執(zhí)行等;

        • 接口簡單容易理解,支持自定義擴展其中的 storage,擁有比較完善的錯誤回調。用簡單的接口實現(xiàn)簡單的概念,BRAFT 配合 BRPC 即使經(jīng)驗不豐富的工程師也可以很容易的快速構建出健壯的分布式系統(tǒng)。

        在 BRAFT 中,百度主要采用了以下幾點方法來提高性能:

        • 數(shù)據(jù)流是全并發(fā)的, leader 寫本地磁盤和向 follower 復制數(shù)據(jù)是完全同步的。

        • 盡可能的提高局部性,充分發(fā)揮不同層面的 cache 的作用。

        • 盡可能隔離不同硬件的訪問,通過流水線的形式提高吞吐。

        • 盡可能的降低鎖臨界區(qū)大小, 關鍵路徑上采用 lock-free/wait-free 算法。

        瀏覽 32
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产深夜视频在线观看 | 麻豆成人在线观看 | 男女男精品网站 | 久久亚洲AV午夜福利精品一区 | 91久久无码一区人妻A片蜜桃 | 自拍偷拍亚洲欧美 | 久久久久亚洲精品 | 小泽玛利亚av未删减 | 五月天婷婷激情视频 | 人人操91|