tencent cloud

文档反馈

主题分区

最后更新时间:2024-01-20 16:34:21

    概述

    主题分区(Partition)是日志服务(Cloud Log Service,CLS)的最小读写单元。一个日志主题可以划分多个主题分区,但至少有一个分区。日志服务将 MD5 取值范围作为有效区间范围,通过合并或分裂操作可以自由划分区间,从而控制服务的整体吞吐性能。每个日志主题最多支持50个分区数,建议合理操作使用主题分区,避免资源浪费。
    主题分区的基本属性信息:
    分区编号:每个分区在同一个日志主题下有唯一编号,该编号在创建或操作后由系统确定。
    分区范围:每个分区均有区间范围,每个区间范围均为左闭右开区间。
    分区状态
    读写态:表示当前分区可以进行读写操作。
    只读态:表示当前分区仅允许进行读操作,不可再写入数据。
    说明:
    主题分区概念较为复杂,实际使用过程中建议使用 自动分裂 功能,CLS 将根据日志数据量自动调整主题分区,无需过多关注。

    分区范围

    分区范围主要用于支持日志按指定 HashKey 的模式写入,一个日志主题的有效范围为 MD5 的取值范围: [00000000000000000000000000000000,ffffffffffffffffffffffffffffffff),所有读写态的主题分区会按左闭右开的原则切分整个取值范围,保证采集的每条日志都能写入到对应的分区里。
    日志服务提供两种写入模式:负载均衡模式和 HashKey 模式。
    负载均衡模式:每个数据包会随机写入日志主题的某个分区。
    HashKey 模式:每个数据包会写入包含当前 Key 值的主题分区。
    例如,一个日志主题有3个可读写分区,各个分区范围如下所示:
    分区编号
    状态
    分区范围
    1
    读写
    [00000000000000000000000000000000,7fffffffffffffffffffffffffffffff)
    2
    读写
    [7fffffffffffffffffffffffffffffff,a0000000000000000000000000000000)
    3
    读写
    [a0000000000000000000000000000000,ffffffffffffffffffffffffffffffff)
    如果写入模式是 HashKey 模式,那么 Key 值为2fffffffffffffffffffffffffffffff的日志数据会写入到分区1中,Key 值为9f000000000000000000000000000000的日志数据会写入到分区2中。

    分区读写能力

    每个主题分区提供一定能力的读写能力,建议业务根据实际的日志流量规划好分区数,流量超出日志主题的读写能力时应及时分裂分区,若业务流量远低于日志主题的读写能力,建议合并分区节约资源。
    功能
    具体项
    说明
    频控
    写请求
    单个分区写上限500qps。超限会拒绝请求,返回状态码429,提示错误 SpeedQuotaExceed
    读请求
    单个分区读上限200qps。超限会拒绝请求,返回状态码429,提示错误 SpeedQuotaExceed
    流控
    写流量
    单个分区写流量上限5MB/s。超限会截断数据,返回状态码429,提示错误 SpeedQuotaExceed

    分区状态

    主题分区有两种状态:读写态只读态。只有读写态的分区提供数据写入服务,只读态分区不允许写入数据,但在有效期内仍可被消费。创建主题分区时,所有分区状态均为读写态,但合并和分裂操作会改变状态为只读态。

    合并分区

    合并分区是指将两个范围相邻的两个读写态分区合并成一个分区。合并完成之后,原来的两个分区状态将会变成只读态,数据仍可被消费但是不能写入新数据。新合成的分区为读写态,新分区的范围会覆盖原来两个分区范围。

    分裂分区

    分裂分区是指将一个读写态的分区分裂成两个小范围分区,分裂分区时需指定一个分裂点的 MD5 值(该值必须大于起止位置,小于终止位置)。分裂成功后,原来的分区状态将会变成只读态,数据仍可被消费但是不能写入新数据。新分裂的分区为读写态,且新分区的范围会覆盖原来分区的范围。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持