319
小米笔记本
分区(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-阿里云