php 为什么Kafka的制作者不能生成数据

tv6aics1  于 2022-12-21  发布在  PHP
关注(0)|答案(2)|浏览(123)

我是Kafka的新手,使用PHP。我已经安装了arnaud-lb/php-rdkafka作为Kafka php客户端。下面的代码,我正在使用来生成内容,但它不能生成任何东西。另外,我希望当内容生成时,它将通过消费者代码可见。有没有其他方法来交叉检查生产者是否成功地生成了内容?同样,最重要的是,为什么这个代码不能生成任何东西

$conf = new RdKafka\Conf();
$conf->set('metadata.broker.list', 'localhost:9092');
$producer = new RdKafka\Producer($conf);
$topic = $producer->newTopic("test");
for ($i = 0; $i < 10; $i++) {
    $topic->produce(RD_KAFKA_PARTITION_UA, 0, "Message $i");
    $producer->poll(0);
}
pobjuy32

pobjuy321#

是否有其他方法可以交叉检查制作方是否成功生成内容?
使用debug config

$conf = new RdKafka\Conf();
$conf->set('debug', 'all');
$conf->set('metadata.broker.list', 'localhost:9092');
// ...
zvms9eto

zvms9eto2#

使用flush
1.每条消息后:

$producer = new RdKafka\Producer($conf);
$topic = $producer->newTopic('test');
for ($i = 0; $i < 10; $i++) {
    $topic->produce(RD_KAFKA_PARTITION_UA, 0, "Message $i");
    $producer->flush();
}

1.批生产商:

$producer = new RdKafka\Producer($conf);
$topic = $producer->newTopic('test');
for ($i = 0; $i < 10; $i++) {
    $topic->produce(RD_KAFKA_PARTITION_UA, 0, "Message $i");
}
$producer->flush();

相关问题