8. Kafka in php
librdkafka
$conf = new RdKafkaConf();
$conf->set('group.id', 'myConsumerGroup');
$conf->set('metadata.broker.list', '127.0.0.1');
$topicConf = new RdKafkaTopicConf();
$topicConf->set('auto.offset.reset', 'smallest');
$conf->setDefaultTopicConf($topicConf);
$consumer = new RdKafkaKafkaConsumer($conf);
$consumer->subscribe(['greatTopic']);
while (true) {
$message = $consumer->consume(120*1000);
switch ($message->err) {
case RD_KAFKA_RESP_ERR_NO_ERROR:
var_dump($message);
break;
case RD_KAFKA_RESP_ERR__PARTITION_EOF:
echo "No more messages; will wait for moren";
break;
case RD_KAFKA_RESP_ERR__TIMED_OUT:
echo "Timed outn";
break;
default:
throw new Exception($message->errstr(),
$message->err);
break;
}
}
php-rdkafka