为了账号安全,请及时绑定邮箱和手机立即绑定

RD_KAFKA_PARTITION_UA 在 librdkafka 中是如何工作的?

RD_KAFKA_PARTITION_UA 在 librdkafka 中是如何工作的?

PHP
忽然笑 2023-05-12 15:58:35
我在 php 中有一个生产者发布到队列。我正在使用php-rdkafka库。以下是代码:   $conf->set('log_level', LOG_DEBUG);        $conf->set('debug', 'all');        $rk = new RdKafka\Producer($conf);        $rk->addBrokers("34.93.118.165:9092");        $topic = $rk->newTopic("download_first");        $topic->produce(RD_KAFKA_PARTITION_UA, 0, utf8_encode($message));        $rk->flush(100);我有 2 个 python 消费者从队列中消费。该主题有 10 个分区。大多数情况下,当一条新消息产生时,它会进入与以前相同的分区,该分区由单个消费者使用,结果其他消费者闲置。在生成消息时是否有任何其他分区程序分配我可以使用的东西?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

根据文档RD_KAFKA_PARTITION_UA 用于使用automatic partitioning using the topic's partitioner function,或者您可以传递确切的分区号而不是 RD_KAFKA_PARTITION_UA 来强制分区。

或者您要求$conf->setPartitioner(RD_KAFKA_MSG_PARTITIONER_RANDOM);启用随机分区程序功能。这是可能的常量列表setPartitioner


查看完整回答
反对 回复 2023-05-12
  • 1 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信