public function addTopic($name, array $conf) { $producer = new \RdKafka\Producer(); $producer->addBrokers(implode(',', $conf['brokers'])); $producerTopicConf = new \RdKafka\TopicConf(); $producerTopic = $producer->newTopic($name, $producerTopicConf); $consumer = new \RdKafka\Consumer(); $consumer->addBrokers(implode(',', $conf['brokers'])); $consumerTopicConf = new \RdKafka\TopicConf(); $consumerTopicConf->set("auto.commit.interval.ms", 1000.0); $consumerTopicConf->set("offset.store.sync.interval.ms", 60000.0); $consumerTopic = $consumer->newTopic($name, $consumerTopicConf); $topic = new Topic($name, $producer, $producerTopic, $consumer, $consumerTopic); $this->topics[$name] = $topic; }
<?php $rk = new RdKafka\Producer(); $rk->setLogLevel(LOG_DEBUG); $rk->addBrokers("127.0.0.1"); $topic = $rk->newTopic("test"); $topic->Producer(RD_KAFKA_PARTITION_UA, 0, "Message payload");