華為云實戰 之 對象存儲的使用以及與騰訊云COS對比
一、OBS是什么
OBS即對象存儲服務(Object Storage Service),是一個基于對象的海量存儲服務,為客戶提供海量、安全、高可靠、低成本的數據存儲能力,包括:創建、修改、刪除桶,上傳、下載、刪除對象等。
OBS系統和單個桶都沒有總數據容量和對象/文件數量的限制,為用戶提供了超大存儲容量的能力,適合存放任意類型的文件,適合普通用戶、網站、企業和開發者使用。由于OBS是一項面向Internet訪問的服務,提供了基于HTTP/HTTPS協議的Web服務接口,用戶可以隨時隨地連接到Internet的電腦上,通過OBS管理控制臺或客戶端訪問和管理存儲在OBS中的數據。此外,OBS支持SDK和OBS API接口,可使用戶方便管理自己存儲在OBS上的數據,以及開發多種類型的上層業務應用。
OBS還提供圖片處理特性(Image Processing),為用戶提供穩定、安全、高效、易用、低成本的圖片處理服務,包括:圖片剪切、圖片縮放、圖片水印、格式轉換等。
云服務實現了在多區域部署基礎設施,具備高度的可擴展性和可靠性,用戶可根據自身需要指定區域使用OBS,由此獲得更快的訪問速度和實惠的***。
二、為什么要用OBS
對象存儲可以簡單理解為用來存儲圖片、音頻、視頻等非結構化數據的數據池。相對于主機服務器,具有讀寫速度快,利于分享的特點。那為什么現在越來越多的企業、開發者選用對象存儲服務呢?簡單羅列了五個點:
1、網站數據動靜分離,大幅提升網頁性能
一般情況下,我們都是建議使用主機服務器和對象存儲分工合作的方式來存儲網站數據。主機服務器主要負責存儲網站的動態數據,對象存儲則用來存儲網站的靜態文件。從而實現網站的動靜分離,當用戶訪問一個網站時,分別從主機服務器和對象存儲的服務器同步讀取數據,可以大幅的提升網頁性能。
2、單獨的文件管理界面,管理網站文件和本地電腦一樣方便
無論是華為云、騰訊云、阿里云、七牛云,對象存儲都有單獨的管理控制臺,華為云和騰訊云還有專門的電腦客戶端。你不必打開網站,就可以像使用百度云盤一樣使用對象存儲來管理你的網站文件,除了上傳、下載、預覽等常用功能,還可以直接在對象存儲上進行圖片處理/媒體轉碼/數據分析等。
3、本質是”內置大容量硬盤的分布式服務器“,同一個文件支持跨域共享
對象存儲的本質是“內置大容量硬盤的分布式服務器”,對象存儲有自己的CPU、內存、網絡和磁盤系統,具備一定的智能,同一個對象存儲數據池可以新建不同的存儲桶(bucket),分別用來存儲不同網站的數據,彼此互不干擾。而且同一個文件可以引用到不同的網站,可以有效的減少數據冗余。
4、儲存節點多,支持跨地域實時同步,實現異地容災
假設你的圖片等數據存儲在你自己的服務器上,只能通過定期數據備份的方式保護你的數據。數據量大的話,每次備份都需要大量的時間和占用大量的磁盤空間,管理起來還不方便。
如果你的數據放置在對象存儲的數據池了,并與網站關聯。那么靜態文件的備份就可以交給對象存儲。你只需要對網站少量的動態文件進行備份。省時省力。
比如我使用對象存儲,我在離我最近的節點【深圳】來存儲網站的圖片等靜態文件。但是考慮到極端情況,比如深圳節點由于突然停電,可能導致數據全部丟失。但如果之前我選擇了【杭州】作為第二個存儲節點,而且設置【深圳】節點的數據實時增量同步到【杭州】節點。那么就算深圳節點的數據丟失了,但是我在杭州的數據還是可以使用。等到恢復供電,我再把數據從杭州節點同步回深圳節點就可以了。這就是我們說的異地容災。
5、成本低,資源彈性伸縮,按需付費
現在華為云對象存儲(簡稱OBS)40G容量一年的價格大概是9塊錢,騰訊云對象存儲(簡稱cos)也有免費的50G容量,加上10G的免費下行流量。已經可以滿足大部分個人站點的使用需求。不像服務器的流量是固定的,包含在服務器的費用里面了。無論你用或不用,都是這么多。對象存儲可以是根據你的實際使用量進行計費。
三、華為云OBS的優勢
這個就不自由發揮,直接看華為云官網對于OBS的優勢介紹吧:
四、如何使用華為云OBS
1、在使用華為云OBS之前,簡單說一下接入華為云OBS的幾種方式:
序號
工具
描述
1
管理控制臺
2
OBS Browser
3
OBSFTP
4
obsutil
5
SDK
6
API
比較常用的就是管理控制臺和OBS Browser
首先是管理控制臺,在管理控制臺可以進行桶管理,點擊具體的桶可以進入詳細管理界面
包括數據統計、對象管理、權限管理、配置管理、域名管理、跨區域復制以及圖片處理等功能,界面設計簡單明了,操作相對也比較方便。
然后是OBS Browser,這是個客戶端桌面工具,打開登錄后可以如百度網盤般進行文件的操作:
2、如何使用這些工具來進行文件管理
這里我就以OBS Browser為例展開說明:
首先,我們需要登錄華為云控制臺,在“我的憑證”中新增訪問密鑰,然后下載到本地(訪問密鑰是一個名為“credentials.csv”的文件)
我們在登錄OBS Browser的時候需要使用到里面的AK(Access Key)和SK(Secret Key)
登錄后就進入到主界面了:
在這里我們可以添加桶:
可以在桶中進行文件夾管理和文件管理:
OBS支持多文件/文件夾同時上傳,一次最多可以上傳500個文件和文件夾,對于批量上傳來說是非常有用的一個功能。
對于單個對象,我們可以方便的對其存儲類別、ACL、對象策略等進行配置管理,同時還能夠復制訪問鏈接,進行移動、復制、刪除、下載等功能:
3、如何訪問對象
簡單來說我們可以用rest接口來請求訪問對象
請求URL的構成示例:
schema:http或https
bucketname:桶名
endpoint:桶所在區域的區域域名
objectname:對象名
querystrings:查詢參數
例如,如果您有一個位于中國華北區1的名為test-bucket的桶,期望訪問桶中一個名為test-object對象的acl,華北區1的EndPoint地址是obs.cn-north-1.myhuaweicloud.com,則正確的訪問URL為 https://test-bucket.obs.cn-north-1.myhuaweicloud.com/test-object?acl
一般這樣請求會提示認證失敗:
這個意思是說我們需要在請求中加入簽名進行認證,否則無權限進行訪問,那么添加簽名有以下幾種方式:
在頭域中包含簽名是最常見的情況,這種方式需要在HTTP請求頭域中添加一個認證頭域,格式為:
Authorization: OBS AccessKeyID:signature
示例如下:
Authorization: OBS HCY8BGCN1YM5ZWYOK1MH:51KOKYY9CVvk/DtUt4W8aFHvfsc=
在URL的querystring中包含簽名,一般用于限時分享鏈接的場景,示例如下:
https://bucketname.obs.cn-north-1.myhuaweicloud.com/objectname?AccessKeyId=HCY8BGCN1YM5ZWYOK1MH&Expires=1528857302&Signature=OgynyFAkBRU6FUHkEqsMVsPolok=
在POST表單中包含簽名,一般用于瀏覽器上傳的場景,示例如下:
------WebKitFormBoundaryx4WluntRxFeG3GAD
Content-Disposition: form-data; name="AccessKeyId"
HCY8BGCN1YM5ZWYOK1MH
------WebKitFormBoundaryx4WluntRxFeG3GAD
Content-Disposition: form-data; name="signature"
Bpj82MEqa23d7GEot7LCqJY8Zdg=
暫時用URL形式來訪問,加上簽名后如下:(這個URL可以在OBS Browser中點分享進行獲取)
五、華為云OBS? vs? 騰訊云COS
好了,大概了解了華為云的OBS使用之后,我們來對比一下騰訊云的COS
這兩個云的對象存儲服務我都有使用過,由于使用不是特別深入,所以對比過程中也參考了很多的資料,并且對于各自官網相關的介紹也進行了對比。
1、工具對比
對比項
華為云OBS
騰訊云COS
備注
登錄
功能
上傳、下載、文件和文件夾管理、存儲桶管理、移動、復制、刪除、修改
價**格
存儲包:2T? ?包3月:663元? ?包年:1989元
下行流量包:100G? ?包3月:147元 ? 包年:441元
存儲包:2T? ?包3月:758.78元? ?包年:2532.96元
下行流量包:100G? ?包3月:150元 ? 包年:600元
性能-延時
配置:Hc2.2xlarge.2? 8核16G內存?內網帶寬2Gbps,30萬pps? ? 華南區域
128k上傳延時:14.23ms
128k下載延時:14.12ms
512k上傳延時:48.07ms
512k下載延時:64.04ms
配置:C3.2xlarge16? 8核16G內存?內網帶寬3Gbps,100萬pps? ?華南區域
128k上傳延時:63.95ms
128k下載延時:29.91ms
512k上傳延時:169.12ms
512k下載延時:182.98ms
測試工具:obscmdbench
模擬大量小文件存取的小文件100并發的多并發傳輸延遲測試,測試單位為毫秒(ms),分為128K/512K兩種大小進行測試。
性能-速度
4M上傳:143.47mb/s
4M下載:112.08mb/s
128M上傳:281.08mb/s
128M下載:332.36mb/s
1GB上傳:318.06mb/s
1GB下載:374.21mb/s
4M上傳:52.21mb/s
4M下載:74.1mb/s
128M上傳:62mb/s
128M下載:84.36mb/s
1GB上傳:62.7mb/s
1GB下載:75.14mb/s
測試工具:obscmdbench
單個大文件的單發上傳下載速度測試
上表中可以看到,華為云對象存儲在性能方面有較大的領先優勢,這個得益于華為云對象存儲軟硬件及網絡方面的核心優勢。
1.硬件
首先是硬件上的,就在2018年3月份,華為云就表示,其OBS對象存儲服務已經摒棄10GE網絡,全面部署25GE網絡。
25GE即25Gbps(也就是3.125GB/s),是公認的下一代數據中心互聯解決方案,得益于華為在網絡設備的領導者地位,華為云是國內第一家全面進入25GE時代的云服務商,先進的以太網標準和全自研的設備給予了華為云遠超對手的上下行寬帶速度,這也是華為云在大文件寬帶測試中網速一騎絕塵的根本原因。
除此之外,華為云還使用了大容量的NVMe標準SSD硬盤,電腦DIYer應該對它非常熟悉,NVMe標準SSD用超高的讀寫速度保證了文件讀寫的高性能,規避了機械硬盤頻繁尋道的問題,而且通過高速SSD的引入,可以大幅提升云存儲系統的整體性能表現。
2.底層優化的軟件
在硬盤數以萬計的大集群數據中心中,硬盤故障是常態,所以很多時候故障硬盤的數據恢復就會成為影響IO請求速度的重要原因之一。
為此華為提出了lrc算法,lrc是一種先進的數據恢復算法。一般來講,如果一份數據分散放在4、5個機房當中,當某個機房中的硬盤故障時,傳統的恢復算法會請求讀取其它機房中的數據以恢復故障硬盤中的文件。
但華為的lrc可以把這個讀取范圍限制在本機房中,換句話說,系統只需要讀取就近的數據即可恢復故障硬盤,而無需再跨機房讀取數據占用寶貴的寬帶資源。
除了改良的lrc算法外,華為還對底層軟件做了諸多優化,例如使用了Append only接口來延長磁盤使用壽命;提供了新的增強實例c3ne,保證客戶端不成為瓶頸;對IP路徑端到端做了內存免拷貝處理,大大減少了CPU負擔,提高了帶寬速度等等等等。
憑借著先進硬件配備與軟件優化,華為云OBS才取得了如此傲人的成績。
附:騰訊云COS客戶端登錄頁和管理頁
API 對象存儲服務 OBS 存儲
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。