0

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

现在我在本地我已经安装了:xamp/php 上的 librdkafka.dll 和 xamp/php/ext 上的 php_rdkafka.dll

我在 php.ini 上添加了这个:

扩展=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, 0, "Message Test");
$producer->poll(0);
$result = $producer->flush(10000);``` 

but nothing returns on stream, could anyone help me?

4

1 回答 1

0

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

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

我认为您不需要在生产者中指定代理,因为您已经在配置中完成了此操作。我假设您的代理列表是包含主机和端口号的 csv 格式文件?

于 2021-06-17T09:55:48.120 回答