我在 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 關注
- 319 瀏覽
添加回答
舉報
0/150
提交
取消