创建 Kafka 实例后,您可以根据业务需求修改实例或 Topic 级别的参数配置,例如最大消息大小、消息保留时长等。
消息队列 Kafka版在实例与 Topic 级别均提供了部分参数的在线可视化配置,指定不同场景下的各种消息策略,例如通过消息保留时长配置消息过期删除策略、参数自动删除旧消息配置磁盘容量阈值策略等等。
说明
实例级别的参数配置决定了实例各项参数的默认参数值,即修改实例参数配置后,再创建的 Topic 默认参数值为实例的参数配置。实际生效的消息保留时长等配置,以各个 Topic 的参数配置为准。
设置消息保留时长后,如果实例的磁盘容量充足,过期的消息会被按时自动删除。如果业务在短时间内消息猛增,此时尚未过期的消息快速填满了某个 Broker 或全部实例的磁盘空间,可能造成生产和消费的异常。消息队列 Kafka版在磁盘容量不足时,通过阈值策略管理保证服务的可用性。
Kafka 实例支持自定义设置磁盘清理水位,且每个 Broker 的磁盘清理水位相同。如果实例整体磁盘使用率达到清理水位,或因数据不均衡导致某个 Broker 的磁盘使用率达到清理水位时,无论消息是否超过消息保留时长,都会按服务端存储消息的时间先后顺序删除该节点的部分历史消息,直至磁盘水位恢复,避免磁盘使用率过高导致 Kafka 实例异常,以及避免因节点无法同步数据导致的副本不同步。
说明
消息队列 Kafka版提供消息的过期删除策略管理,即通过参数消息保留时长配置磁盘容量充足时,消息存储在服务端的时长。
磁盘容量充足时,服务端定期检查并自动清理超过保留时长的消息,但每个分区会至少保留一个当前使用的 log 文件,因而可能有些消息超过时限却依然保留着。因此,您有可能查询到超过消息保留时间的消息。
说明
修改实例的参数配置之前,应确认 Kafka 实例状态为运行中。
操作步骤如下。
在顶部菜单栏中选择地域,并在选择左侧导航栏中单击实例列表。
在实例详情页签的参数配置区域单击修改。
填写新的参数配置,并单击确定。
参数 | 说明 |
---|---|
最大消息大小 | 单条消息的最大长度,即消息队列 Kafka版能收发的消息的最大值。 该参数设置需要和生产与消费客户端配置相匹配,否则可能会出现消息丢失的情况。 |
消息保留时长 | 在磁盘容量充足的情况下,消息的最大保留时长,即消息的存储时间。单位为小时,取值范围为 1~2160,即消息最久保留 90 天。 |
消费位点保留时长 | 消费位点的最大保留时长。 从提交消费位点的时间开始计算,超过该时长的消费位点将被删除。每向一个 Topic 分区提交一次消费位点,该消费位点的保留时间就会被重置,即从 0 开始计算。 说明 修改实例的消费位点保留时长将引发实例滚动重启,可能会出现服务的短暂不可用。建议您在客户端实现重连机制,以避免客户端断开连接无法重连。 |
消息时间类型 | 消息时间戳类型。默认设置为 CreateTime。支持设置为:
|
自动删除Group | 是否自动删除 Group。默认为关闭状态。
说明 修改该参数配置将引发实例滚动重启,可能会出现服务的短暂不可用。建议您在客户端实现重连机制,以避免客户端断开连接无法重连。 |
在弹出对话框中确认修改的参数名称及修改前后的运行值,单击确定。
说明
Kafka 实例状态为运行中,且Topic状态为服务中时,才能修改 Topic 的参数配置。
操作步骤如下。
在顶部菜单栏中选择地域,并在选择左侧导航栏中单击实例列表。
找到目标实例,单击实例名称。
在顶部页签栏中单击Topic管理。
找到目标 Topic,并在其对应的操作列单击修改配置。
填写相关配置参数。
参数 | 说明 |
---|---|
分区数 | 此 Topic 的分区数量。分区数量越大,消费的并发度越大。 |
副本数 | 分区的副本个数,表示在对应数量的副本上备份数据,用于保障分区的高可用。当其中一个 Broker 故障时仍可保障数据可用性,副本数越大可靠性越高。 说明
|
最小同步副本数 | Topic 最小同步副本个数,即 min.insync.replicas 参数。该值越大,数据可靠性越好,但是可用性将会降低。
|
消息保留时长 | 磁盘容量充足时,消息在此 Topic 中的最大保留时长,即消息的存储时间。消费者必须在此时间结束前消费消息,否则消息将被删除。删除的消息,无法被消费。 |
最大消息大小 | 此 Topic 中单条消息的最大长度。 |
单击确定。