我在 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
- 1 回答
- 0 关注
- 277 浏览
添加回答
举报
0/150
提交
取消