php-kafka-consumer -


MIT
跨平台
PHP

软件简介

php-kafka-consumer 主要是对 php_rdkafka 的 consumer 的 API 进行一层封装,增加了原程序中所没有的与
zookeeper 交互的功能。在此基础上实现了 rebalance 功能以及 group 功能。
经过简单的压力测试,单个进程的消费能力能达到每秒钟7.8W条,压测详细内容见压力测试

依赖

php_zookeeper

php_rdkafka (建议使用1.0.0版本)

librdkafka(建议使用0.9.1版本)

使用

<?php 
include 'consumer.php';

function call_back_func($msg) {
    echo "$msg->payload\n";
}

function handle_error_call_back($msg) {
    echo $msg->errstr();
}

$consumer = New Consumer("localhost:2181");
$consumer->setGroupId("group-test");
$consumer->setTopic("topic-test");
$consumer->setOffsetAutoReset(Consumer::smallest);
$consumer->setErrHandler("handle_error_call_back");

try {
    $consumer->start("echo_message");
}
catch(Exception $e) {
    printf("error: %s\n", $e->getMessage());
}