如何使用 kafka-php 编程库创建主题?

How can I create topic with kafka-php programming library?

我想用kafka-php编程库创建一个主题。

https://github.com/weiboad/kafka-php

我该怎么办?

如果主题在kafka服务器中不存在,执行这段代码是行不通的。它不会插入 10 条消息“test1....消息”。因为主题没有创建。

date_default_timezone_set('PRC');
// Create the logger
$logger = new Logger('my_logger');
// Now add some handlers
$logger->pushHandler(new StreamHandler(DIR . '/app.log', Logger::DEBUG));

$config = \Kafka\ProducerConfig::getInstance();
$config->setMetadataRefreshIntervalMs(10000);
$config->setMetadataBrokerList('127.0.0.1:9092');
$config->setBrokerVersion('1.0.0');
$config->setRequiredAck(1);
$config->setIsAsyn(false);
$config->setProduceInterval(500);
$producer = new \Kafka\Producer();
$producer->setLogger($logger);

for($i = 0; $i < 10; $i++) {
$result = $producer->send([
[
'topic' => 'test1',
'value' => 'test1....message.',
'key' => ''
]
]);
}

我认为可用的 PHP 库对此不提供支持。

Kafka 的 Java 客户端库中的 Admin API 实现了该功能,这将使您能够 create a topic. I found this github issue 针对另一个 PHP Kafka 客户端实现管理员 API 但尚未完成。