温馨提示×

PHP rdkafka如何创建主题

PHP
小樊
81
2024-11-24 06:47:44
栏目: 编程语言

在PHP中使用RdKafka创建主题,你需要先确保已经安装了RdKafka扩展和相关的依赖库。以下是在Linux系统上创建主题的步骤:

  1. 安装RdKafka扩展和依赖库:
sudo apt-get install php-rdkafka
  1. 创建一个新的主题:

首先,你需要使用Kafka命令行工具或Kafka管理工具(如Confluent Control Center)来创建一个新的主题。例如,如果你想创建一个名为my_topic的主题,分区数为3,副本因子为2,可以使用以下命令:

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 2 --partitions 3 --topic my_topic
  1. 在PHP代码中使用RdKafka创建主题:

在你的PHP代码中,你可以使用RdKafka的AdminClient来创建一个新的主题。以下是一个示例:

<?php
require_once 'vendor/autoload.php';

use RdKafka\Conf;
use RdKafka\AdminClient;
use RdKafka\TopicConfig;

$conf = new Conf();
$adminClient = new AdminClient($conf);

$topicConfig = new TopicConfig();
$topicConfig->set('name', 'my_topic');
$topicConfig->set('partitions', 3);
$topicConfig->set('replication.factor', 2);
$topicConfig->set('auto.offset.reset', 'earliest');
$topicConfig->set('enable.auto.commit', false);

$result = $adminClient->createTopics([$topicConfig]);

if ($result->err) {
    echo "Error creating topic: " . $result->errstr() . "\n";
} else {
    echo "Topic created successfully\n";
}

$adminClient->close();
?>

请注意,这个示例使用了自动生成的vendor/autoload.php文件,你需要确保已经通过Composer安装了所有必要的依赖库。你可以在项目根目录下运行composer install来安装依赖库。

0