配置相关

最近更新时间: 2024-06-12 15:06:00

如何选取 CKafka 副本数?

建议您创建 Topic 时选择双副本或三副本存储数据,保障数据可靠性。当前 CKafka 已经禁止单副本 Topic 的创建,如您账户下有单副本的 Topic,建议按如下步骤迁移:

  1. 创建新的 Topic,选择相同的分区,选取双副本;

  2. 生产消息到新的 Topic 中,存量的单副本 Topic 继续被消费;

  3. 消费完毕后修改消费者配置,订阅新的 Topic 进行消费。

消息队列新接入客户端时生产/消费错误如何处理?

  • 检查 telnet 是否通(网络问题,是否 Kafka 和生产者在相同网络环境下)。

  • 检查访问的 vip - port 是否配置正确。

  • 检查 Topic 白名单是否开启,如果开启需要配置正确的 IP 才能访问。

CKafka 消息保留时间配置为 1min,是否会在 1min 后立即删除堆积消息?

不一定。消息删除不仅和保留时间配置有关,也和生产消息的数据量级有关。 CKafka 删除堆积消息的最小单位是 partition 级别的文件分片,当前文件分片大小为1GB,堆积未达到一个文件分片是不会删除的。如果有10 partition,在1分钟内如果没有达到10GB的量,就不会有文件滚动,也就不会删除。

CKafka 消息堆积了很多如何处理?

CKafka 跟开源的 Kafka 是一模一样的机制和原理。您可以通过以下步骤来排错:

  1. 确定您的业务有几个消费者在消费。

  2. 若消费者消费能力比较差,直接加消费者即可。

CKafka 如何进行限流?

为保证服务的稳定性,CKafka 在消息出入上都做了流量管控。

  • 用户所有副本流量之和超过购买时的峰值流量时,会发生限流。

  • 在生产端发生限流时,CKafka 会延长一个 TCP 链接的回应时间,延迟时间取决于用户瞬时流量超过限制的大小。和道路交通管制的原理有点类似,流量超得越多,延时算法得出来的延时值越高,最高5分钟。

  • 在消费端发生限流时,CKafka 会缩小每次fetch.request.max.bytes的大小,控制消费端的流量。

注意:限流是在超出峰值流量或磁盘量后开始触发,因此存在短时间内使用资源超出限制值的情况,不过随着限流机制的作用资源使用会迅速回落。

限流会如何影响消息的生产消费?

限流本身不影响消息的内容,只会影响消息收发的速率。

如何判断 CKafka 是否发生限流?

  1. 在实例列表上,每个集群都有对应的健康度展示。当健康度显示为“警告”字样时,可以将鼠标移至其上查看弹出的详细数据。这个数据会展示当前用户的峰值流量以及发生限流的次数,用户可以根据这里的数据判断该实例是否发生过限流。

  2. 用户可以打开监控数据查看流量的最大值,如果 (流量的最大值 × 副本数) > 购买时的峰值带宽,则表明至少发生过一次限流。