分區(Shard)__基礎概念_用戶指南_日誌服務-阿裏雲
每個日誌庫(Logstore)分若幹個分區(Shard),每個分區由MD5組成左閉右開區間組成,每個區間範圍不會相互覆蓋,並且所有的區間的範圍是MD5整個取值範圍:
Logstore讀寫日誌必定保存在某一個分區上
為了幫助理解分區概念,可以參考如下示意圖:
為了簡化說明,這裏假設md5的取值範圍是00 到ff。該Logstore共有4個分區,範圍分別是:
分區號 | 範圍 |
---|---|
Shard0 | [00,40) |
Shard1 | [40,80) |
Shard2 | [80,C0) |
Shard3 | [C0,FF) |
當寫入日誌時,用戶指定一個md5的key是5F,那麼這個請求會落在第1號分區上;如果用戶指定md5是8C,那麼該請求的數據會落到第2號shard上。
分區的範圍如何劃分?
創建logstore時,指定分區個數,會自動平均劃分整個md5的範圍。之後可以通過分裂和合並操作來擴容和縮容分區個數。
分區讀寫能
每個分區能承載一定服務能力:
- 寫入:5MB/S,2000次/S
- 讀取:10MB/S,100次/S
根據每個分區能夠處理5M/s的寫數據,和10M/s的讀數據。根據流量計算出來需要多少個分區。
- 當寫入的API持續報錯403或者500錯誤時,通過Logstore雲監控查看流量和狀態碼,判斷是否需要增加分區。
- 對超過分區服務能力讀寫係統會盡可能服務,但不保證服務質量
分區狀態:
- readwrite:可以讀寫
- readonly:隻讀數據
擴容分區(Split)
擴容分區通過分裂(Split)操作。在分裂操作時,指定一個處於readwrite狀態的hardId,和一個md5.md5要求必須大於shard的inclusiveBeginKey,並且小於shard的exclusiveEndKey。
在分裂完成後,原來的分區變成隻讀(readonly)狀態,數據仍然可以被消費;新生成兩個readwrite狀態的分區,並且新生成的兩個分區的md5範圍覆蓋了原來分區的範圍。
縮容分區(Merge)
縮容分區通過合並(merge)操作。在合並操作時,指定一個處於readwrite狀態的shardId。要求所指定的分區不能是最後一個readwrite分區,服務端會自動找到所指定分區的右側相鄰分區。
在合並完成後,所指定的分區和其右側相鄰分區變成隻讀(readonly)狀態,數據仍然可以被消費;新生成一個readwrite狀態的分區,並且新生成的分區的md5範圍覆蓋了原來兩個分區的範圍。
刪除分區(shard)
分區在到達生命周期後會自動刪除,標記readonly分區不參與計費。
最後更新:2016-11-25 01:25:25
上一篇:
日誌庫(Logstore)__基礎概念_用戶指南_日誌服務-阿裏雲
下一篇:
采集方式__loghub-采集_用戶指南_日誌服務-阿裏雲
LogShipper-狀態__Getting-Started_日誌服務-阿裏雲
雲郵箱MAC OS上POP3/IMAP協議設置方法__客戶端使用_郵箱常見問題_企業郵箱-阿裏雲
專有網絡和交換機__網絡_用戶指南_專有網絡 VPC-阿裏雲
首個量子衛星背後:阿裏雲、穀歌等密集布局量子計算
啟動實例__實例相關接口_API 參考_雲服務器 ECS-阿裏雲
審核失敗 - 主域名不能為空__常見問題_產品常見問題_證書服務-阿裏雲
服務連接__基本概念_基本介紹_大數據計算服務-阿裏雲
樣例代碼__Python SDK_SDK參考_E-MapReduce-阿裏雲
SSH 連接時出現如下錯誤:error Could not get shadow infromation for root__遠程登錄 (SSH)_Linux操作運維問題_雲服務器 ECS-阿裏雲
阿裏雲MaxCompute香港開服 將引入更多人工智能服務
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲