示例#1
1
 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;
 }
示例#2
0
文件: Kfk.php 项目: kerisy/framework
 /**
  * 生产初始化
  * @param string $configKey
  * @throws Exception
  */
 function getProductInstance($configKey = "default")
 {
     $configObj = new Config("kfk");
     $config = $configObj->get($configKey);
     try {
         $rk = new \RdKafka\Producer();
         $rk->setLogLevel(LOG_DEBUG);
         $rk->addBrokers($config);
         $this->rk = $rk;
         $this->type = 0;
     } catch (\Exception $e) {
         throw new \Exception($e->getMessage());
     }
 }
示例#3
0
<?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");
示例#4
0
 /**
  * Create a new rdkafka producer
  * @return \RdKafka\Producer
  */
 protected function createProducer()
 {
     $rdKafkaProducer = new \RdKafka\Producer();
     $rdKafkaProducer->addBrokers(implode(",", $this->brokers));
     return $rdKafkaProducer;
 }