ceph 存儲 對比_分布式存儲系統 Curve

CURVE 是網易開源的高性能、高可用、高可靠分布式存儲系統,具有非常良好的擴展性。基于該存儲底座可以打造適用于不同應用場景的存儲系統,如塊存儲、對象存儲、云原生數據庫等。

  • 授權協議: Apache 2.0
  • 開發語言: C/C++
  • 開發廠商:網易
  • 軟件類型:分布式應用/網絡

CURVE 的設計開發始終圍繞三個理念:

一是順應當前存儲硬件設施發展趨勢,做到軟硬件結合打造頂級的存儲產品;

二是秉持 “Simple Can be harder than complex”,了解問題本質情況下選擇最簡單的方案解決問題;

三是擁抱開源,在充分調研的前提下使用優秀的開源項目組件,避免造輪子。

當前網易基于 CURVE 已經實現了高性能塊存儲系統,支持快照克隆和恢復 ,支持 QEMU 虛擬機和物理機 NBD 設備兩種掛載方式, 在網易內部作為高性能云盤使用。

03d0fc26cbe03f2e98544b294cf84769.png

特性

  1. 高性能

高性能是 CURVE 的一大特點,也是項目團隊創建 CURVE 項目的初衷。RPC 層面 CURVE 采用了高性能和低延遲并且已開源的 brpc;在一致性層面選擇了基于 quorum 機制并且開源的 braft,從協議層面來說 quorum 機制在延遲方面天生優于多副本強一致的方式。

實現上 CURVE 對 braft 快照的實現進行了優化,在狀態機的實現上采用 chunkfilepool 的方式 ( 初始化集群的時候格式化出指定比例的空間用作 chunk ) 使得底層的寫入放大為 0;

此外CURVE 還在 chunk 上進行更細力度的地址空間 hash 以達到讀寫分離、減小 IO 碰撞等的效果,從而進一步提升 IO 性能。

網易公布了 Curve 和 Ceph L 版本的測試數據對比,在單卷的場景下,核心的 4K 隨機讀/寫的IOPS 性能,Curve 分別是 Ceph 的 1.84 倍和 1.58 倍,同時延遲相比 Ceph 分別降低 48.39%和 37.50%。

3eadee418f64c2fc08c8ba28d1fa6077.png
Curve與Ceph性能測試對比

2. 高可用

高可用是 CURVE 的另一大特點。MDS、ChunkServer 以及 SnapShotCloneServer 都支持多實例部署,部分實例異常不影響整個集群的可用性。

  • MDS

MDS 是無狀態的,推薦至少部署兩個實例。通過 Etcd 進行選主。多個 MDS 實例通過 Etcd 進行選主,當單個實例失效時,可以秒級切換到另外一個實例。失效實例上正在處理的請求,Client 和 SnapShotCloneServer 都會對其進行重試,以達到不影響集群可用性的效果。

  • SnapShotCloneServer

SnapShotCloneServer 與 MDS 類似, 也是通過 Etcd 進行選主,不同的是,它通過負載均衡對外提供服務。失效期間的請求失敗重試都是冪等的,不影響任務的正確性以及集群的可用性。

  • ChunkServer

ChunkServer 是一個集群,通過 Raft 協議保持數據一致性,并通過 MDS 做負載均衡。單個節點失效時,會影響到這個節點上存儲的所有 Copyset。

對于 Copyset 上的 Leader 節點,會中斷服務,等待重新選舉;對于Copyset 上的 follower 節點,服務不會受影響。當某個 Chunkserver 節點失效且在一段時間內無法恢復,MDS 會將其上的數據遷移到其他節點上。

更多信息:分布式存儲系統 Curve

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273210.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273210.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273210.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IOS添加pch預編譯文件

1.右鍵組名,New File->IOS->other選擇PCH文件 2.在Build Settings的搜索欄輸入prefix 3.找到Prefix Header 3.添加PCH文件,方法一:項目名/****.pch.(推薦) ; 方法二:$(SRCROOT)/項目名/***.pch轉載于:https://w…

前端封裝接口彈出錯誤_項目實踐:SpringBoot三招組合拳,手把手教你打出優雅的后端接口...

前言一個后端接口大致分為四個部分組成:接口地址(url)、接口請求方式(get、post等)、請求數據(request)、響應數據(response)。如何構建這幾個部分每個公司要求都不同&am…

關于重寫equals()與hashCode()

在HashMap與HashSet中,是不允許元素重復的。 在判定時比較元素的hashCode()是否相等,equals()是否返回true,那么問題來了 這是一個Person類 public class Person { private String id; private String name; private Integer age; …

金算盤高手論壇資料中心_3D304期 菜鳥論壇精英PK專欄 速來圍觀!!

點上方“菜鳥選號論壇”→點右上角“...”→選“星標★”每日上午更新,星標置頂與大神不走散蘋果是置頂,安卓是星標 點擊"菜鳥選號論壇"關注我們論壇明星版塊,集全網各路高手之大乘,打造草根明星 展示舞臺。同時主要是為…

諸暨機器人餐廳價格_現場 | 一家嘗出“鍋氣”的餐廳 探店機器人餐廳

觀點地產網蔡瀾先生的書中曾說過,“食在廣東,其實是食在順德”,順德這座美食之都,滿足了對食物異常挑剔的廣東人的味蕾追求。最近,一家坐落“鳳城”順德的餐廳開業了。餐廳開業本身并沒什么稀奇,不過這是一…

VelocityTracker簡要

翻譯自:http://developer.android.com/reference/android/view/VelocityTracker.html參照自: http://blog.jrj.com.cn/4586793646,5298605a.html android.view.VelocityTracker主要用跟蹤觸摸屏事件(flinging事件和其它gestures手勢事件&…

積木賽爾號機器人_賽爾號:譜尼三次敗北,經歷過被吊打、封印,一次比一次慘...

賽爾號:譜尼三次敗北,經歷過被吊打、封印,一次比一次慘。精靈類型的動漫層出不窮,在我們兒時看過精靈寶可夢、數碼寶貝等等作品。國內的動漫則是有賽爾號和洛克王國,相較而言還是賽爾號更加的出名一些,更加…

xenu工具介紹

Xenu Link Sleuth 也許是你所見過的最小但功能最強大的檢查網站死鏈接的軟件了。你可以打開一個本地網頁文件來檢查它的鏈接,也可以輸入任何網址來檢查。它可以分別列出網站 的活鏈接以及死鏈接,連轉向鏈接它都分析得一清二楚;支持多線程&…

安卓模擬器_exagear模擬器安卓模擬器

Exagear模擬器簡介讓Android 設備用戶重溫經典 PC 游戲,來自俄羅斯的初創公司 Eltechs發布了一款全新的 Android 游戲模擬器 ExaGear Strategies。該游戲模擬器的主要功能就是將經典的 PC 游戲帶到 Android 智能手機或平板電腦上來。公告1.exagear軟件和游戲&#x…

HBase 常用Shell命令

兩個月前使用過hbase,現在最基本的命令都淡忘了,留一個備查~ 進入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos認證,需要事先使用相應的keytab進行一下認證(使用kinit命令),認證成功之后…

將Excle數據導入到數據庫

假如Excel中的數據如下: 數據庫建表如下: 其中Id為自增字段: 代碼: 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Web;5 using System.Web.UI;6 using System.Web.UI.WebControls;7 us…

click vue 重復調用_VUE防止多次點擊,重復請求

VUE防止多次點擊,重復請求1.添加自定義文件 preventReClick.jsimport Vue from vueconst preventReClick Vue.directive(preventReClick, {inserted: function (el, binding) {el.addEventListener(click, () > {if (!el.disabled) {el.disabled truesetTimeou…

virbr0怎么關閉_CentOS 7中關閉刪除virbr0虛擬網卡

在CentOS 7的安裝過程中如果有選擇相關虛擬化的的服務安裝系統后,啟動網卡時會發現有一個以網橋連接的私網地址的virbr0網卡,這個是因為在虛擬化中有使用到libvirtd服務生成的,如果不需要可以關閉后去掉:[rootlocalhost ~]# virsh…

動態規劃(五) 最大連續子序列和(Maximum Continuous Subsequence Sum)

占位...轉載于:https://www.cnblogs.com/AloneAli/p/4580931.html

python中beautifulsoup是什么庫_BeautifulSoup庫詳解(個人整理)

BeautifulSoup4是爬蟲必學的技能。BeautifulSoup最主要的功能是從網頁抓取數據,Beautiful Soup自動將輸入文檔轉換為Unicode編碼,輸出文檔轉換為utf-8編碼。BeautifulSoup支持Python標準庫中的HTML解析器,還支持一些第三方的解析器,如果我們不…

iOS 設置系統音量和監聽系統音量變化

很簡單的調用 首先在工程引入MediaPlayer.framework #import <MediaPlayer/MediaPlayer.h> 1. 獲取系統音量 // 獲取系統音量 MPVolumeView *volumeView [[MPVolumeView alloc] init];UISlider *volumeViewSlider nil;for (UIView *view in [volumeView subviews]){if …

h5關于選擇器以及class的小加強

1、querySelector和querySelectorAll 這兩個方法類似于jquery的選擇器 document.querySelector(.box) document.querySelectorAll(.box)前者只能選擇一組中的第一個&#xff0c;后者選擇一組元素。 2、getElementsByClassName document.getElementsByClassName(box) 選擇的結…

1 睡眠喚醒_一勞永逸解決WIN10所有睡眠問題

1.初級階段&#xff0c;解決因硬件的喚醒事件powercfg -lastwake查看上次喚醒電腦的設備哪些硬件能喚醒電腦&#xff1f;powercfg /devicequery wake_armed列出現在可以喚醒電腦的所有硬件設備&#xff0c;可以看到現在鍵盤能喚醒powercfg /devicequery wake_programmable列出全…

[轉]Device Context 設備環境 設備上下文 理解

http://blog.csdn.net/p424671075/article/details/7235601轉載于:https://www.cnblogs.com/qrlozte/p/4582594.html

生成路徑 vs 設置_Simulink代碼生成之模型配置

歡迎關注我的微信公眾號【新能源動力電池與BMS】&#xff0c;頭條號&#xff1a;【阿Q在江湖】&#xff1b;所有文章資料會在公眾號首發。本文已同步錄制視頻講解&#xff1a;Simulink代碼生成之模型配置_視頻教程 - 知乎。PS&#xff1a;前段時間&#xff0c;傳出美國禁用一些…