quipo / kafka-php
Apache Kafka 0.7 的 PHP 客户端库
v1.0.0
2015-10-27 09:44 UTC
This package is auto-updated.
Last update: 2024-09-06 17:43:50 UTC
README
kafka-php 允许您向 Apache Kafka 分布式发布/订阅消息服务发送消息。
需求
- 最低 PHP 版本:5.3.3。
- Apache Kafka 0.6.x 或 0.7.x。
- 您需要能够通过 TCP 连接到您的 Kafka 实例。您可以在 https://github.com/kafka-dev/kafka 获取 Kafka 的副本和设置说明。
- 如果您想使用基于 Zookeeper 的消费者,则需要 PHP Zookeeper 扩展。
安装
将 lib 目录添加到 PHP include_path,并使用示例目录中的自动加载器(代码遵循 PEAR/Zend 单类单文件约定)。
使用方法
示例目录包含生产者、简单消费者和基于 Zookeeper 的消费者的示例。
示例生产者
$producer = new Kafka_Producer('localhost', 9092, Kafka_Encoder::COMPRESSION_NONE); $messages = array('some', 'messages', 'here'); $topic = 'test'; $bytes = $producer->send($messages, $topic);
示例消费者
$topic = 'test'; $partition = 0; $offset = 0; $maxSize = 1000000; $socketTimeout = 5; while (true) { $consumer = new Kafka_SimpleConsumer('localhost', 9092, $socketTimeout, $maxSize); $fetchRequest = new Kafka_FetchRequest($topic, $partition, $offset, $maxSize); $messages = $consumer->fetch($fetchRequest); foreach ($messages as $msg) { echo "\nMessage: " . $msg->payload(); } //advance the offset after consuming each MessageSet $offset += $messages->validBytes(); unset($fetchRequest); }
待办事项
- 支持 Snappy 压缩
有关问题的联系方式
Lorenzo Alberton
l.alberton at(@) quipo.it