$setting = require DIR . '/setting.php';
$conf = new RdKafka\Conf();
$conf->set('api.version.request', 'true');

$conf->set('group.id', $setting['consumer_id']);

$conf->set('metadata.broker.list', $setting['bootstrap_servers']);
$conf->set('enable.auto.commit', 0);//手动提交offset
$topicConf = new RdKafka\TopicConf();

$conf->setDefaultTopicConf($topicConf);

$consumer = new RdKafka\KafkaConsumer($conf);

$consumer->subscribe([$setting['topic_name']]);

while (true) {

$message = $consumer->consume(30 * 1000);
switch ($message->err) {
    case RD_KAFKA_RESP_ERR_NO_ERROR:
        var_dump($message);
        $consumer->commit($message);//手动提交offset
        break;
    case RD_KAFKA_RESP_ERR__PARTITION_EOF:
        echo "No more messages; will wait for more\n";
        break;
    case RD_KAFKA_RESP_ERR__TIMED_OUT:
        echo "Timed out\n";
        break;
    default:
        throw new \Exception($message->errstr(), $message->err);
        break;
}

}


幽游浦饭
1 声望0 粉丝

« 上一篇
kafka日志处理
下一篇 »
kafka消费组

引用和评论

0 条评论