PHP 与 Kafka - rdkafka

问题描述

我正在处理kafka和PHP,我是初学者,kafka已经在服务器上正确设置,

现在在本地 我已经安装: xamp/PHP 上的 librdkafka.dll 和 xamp/PHP/ext 上的 PHP_rdkafka.dll

我在 PHP.ini 添加了这个:

extension=PHP_rdkafka.dll

然后,我创建了一个包含以下代码PHP 页面

$topic_name = '???';
$conf = new RdKafka\Conf();
$conf->set('Metadata.broker.list',$broker_list);
$conf->set('enable.idempotence','true');
$conf->set('group.id',$topic_name);
$conf->set('sasl.username',"???");
$conf->set('sasl.mechanism',"PLAIN");
$conf->set('sasl.password',"???");
$conf->set('log_level',(string) LOG_DEBUG);
$conf->set('debug','all');
$producer = new RdKafka\Producer($conf);
$producer->addbrokers($broker_list);
$topic = $producer->newTopic($topic_name);
$topic->produce(RD_KAFKA_PARTITION_UA,"Message Test");
$producer->poll(0);
$result = $producer->flush(10000);``` 

but nothing returns on stream,Could anyone help me?

解决方法

您是否正在尝试连接到融合云?

我会将您的安全协议添加到您的 conf 中,正如您指出的 sasl。例如 $conf->set('security.protocol','sasl_ssl');

我认为您不需要在生产者中指明代理,因为您已经在配置中这样做了。我假设您的经纪人列表是一个包含主机和端口号的 csv 格式文件?