euskadi31/kafka-php

Apache Kafka的PHP 5.3+ 框架

v1.0.1 2016-02-23 14:18 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:28:40 UTC


README

Build Status SensioLabs Insight Coveralls HHVM Packagist

php-rdkafka改进以管理php-zookeeper

安装

euskadi31/kafka-php添加到您的composer.json

% php composer.phar require euskadi31/kafka-php:~1.0

用法

生产者

<?php

$cm = new Euskadi31\Kafka\ClusterMetadata\Zookeeper([
    '10.0.0.13' => 2181
]);

$producer = new Euskadi31\Kafka\Producer($cm);

$topic = $producer->newTopic('test');

$topic->produce(RD_KAFKA_PARTITION_UA, 0, 'Message payload');

消费者

<?php

$cm = new Euskadi31\Kafka\ClusterMetadata\Zookeeper([
    '10.0.0.13' => 2181
]);

$conf = new RdKafka\Conf();

$consumer = new Euskadi31\Kafka\Consumer($cm, $conf);

$topic = $consumer->newTopic('test');

$topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING);

while (true) {
    // The first argument is the partition (again).
    // The second argument is the timeout.
    $msg = $topic->consume(0, 1000);

    if (empty($msg)) {
        continue;
    }

    if ($msg->err) {
        echo $msg->errstr() . PHP_EOL;
        break;
    } else {
        echo $msg->payload . PHP_EOL;
    }
}

许可证

kafka-php遵循MIT许可证