在PHP中使用RdKafka創建主題,你需要先確保已經安裝了RdKafka擴展和相關的依賴庫。以下是在Linux系統上創建主題的步驟:
sudo apt-get install php-rdkafka
首先,你需要使用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
在你的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
來安裝依賴庫。