本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
您可以通过分裂、合并操作控制活跃的Shard数量来调整日志服务Logstore可以提供的最大读写能力。分裂Shard可以自动触发,但合并Shard必须手动执行。本文为您介绍如何分裂、合并、删除Shard以及设置自动分裂Shard。
基本概念
日志服务中的数据必定保存在某一个分区(Shard)上。日志服务使用Shard控制Logstore、EventStore、MetricStore的读写数据的能力。您在创建Logstore、MetricStore、EventStore时需要设置Shard数量,后续还可以设置Shard分裂或合并,实现Shard数量的增加或减少。更多信息,请参见分区(Shard)。
分裂Shard
建议您根据实际业务数据流量规划Shard个数。每个Shard支持5MB/s或500次/s的数据写入、10MB/s或100次/s的数据读取,此限制非硬性限制,超出限制时,系统会尽可能提供服务,但是不保证服务质量。当数据读写流量超出Shard读写能力时,需要及时分裂Shard以增加Shard个数,从而提供更高的读写能力。
当写入数据的API持续报告403或者500错误时,您可以通过Logstore云监控查看流量和状态码判断是否需要增加Shard。
控制台操作
登录日志服务控制台。
在Project列表区域,单击目标Project。
在 页签中,将鼠标悬浮在目标Logstore上,然后选择 。
在Logstore属性页面中,单击修改。
选择待分裂的Shard,单击分裂。
重要分裂Shard时,需要选择一个处于readwrite状态的Shard。
选择分裂数量,单击确定。
单击保存。
命令行操作
您也可以通过日志服务命令行工具CLI一次性分裂Shard到指定数量。更多信息,请参见使用CLI配置Shard。
查看Shard
控制台操作
登录日志服务控制台。
在Project列表区域,单击目标Project。
在 页签中,将鼠标悬浮在目标Logstore上,然后选择 。
在Logstore属性页面中,查看当前Logstore的Shard列表。
自动分裂Shard
日志服务支持自动分裂Shard,帮助您自动处理业务流量超出预估值的场景。自动分裂Shard需要满足以下几个条件。
开启了自动分裂Shard开关。
当写入数据量超出当前Shard的写入服务能力且持续5分钟以上。
Logstore中readwrite状态的Shard数目未超过设定的最大Shard总数。
最近15分钟内分裂出来的新Shard不会自动分裂。
您可以在创建或修改Logstore时开启自动分裂Shard,并设定Shard的最大分裂数。
自动分裂Shard
例如原本存在4个Shard,日志服务会独立判断各个Shard是否满足分裂条件。满足分裂条件的Shard会各自进行分裂,分裂总数不会超过您所设定的最大分裂数。
最大分裂数
Shard自动分裂的最大总数目。开启自动分裂Shard功能后,最多支持自动分裂至256个readwrite状态的Shard。
合并Shard
当数据读写流量远达不到Shard的最大读写能力时,建议您合并Shard,降低活跃Shard租用费用。您可以通过合并操作减少Shard数量,日志服务会找到指定Shard右侧相邻的Shard,并将两个Shard合并。合并Shard只支持手动操作,无法自动合并。
合并Shard时,必须指定一个处于readwrite状态的Shard,且不能是最后一个readwrite状态的Shard。
在 页签中,将鼠标悬浮在目标Logstore上,然后选择 。
在Logstore属性页面中,单击修改。
选择待合并的Shard,单击合并。
单击保存。
合并完成后,所指定的Shard及其右侧相邻Shard的状态变成readonly。同时新生成一个readwrite状态的Shard,新Shard的MD5范围覆盖原来两个Shard的范围。
删除Shard
删除Shard后,无法恢复,请谨慎操作。
自动删除
如果您在创建Logstore时设置了数据保存时间,那么Shard及Shard中的数据超出保存时间后会被自动删除。
手动删除
如果您在创建Logstore时开启了永久保存,建议您通过删除Logstore的方式删除Logstore中的Shard和数据。更多信息,请参见删除Logstore。
Shard接口
操作 | 接口 |
分裂Shard | |
合并Shard | |
查询Shard |