salebab / kafka-php
dev-master
2013-12-23 13:38 UTC
Requires
- php: >=5.3.3
This package is not auto-updated.
Last update: 2024-09-14 14:26:20 UTC
README
kafka-php 允许您向Apache Kafka分布式发布/订阅消息服务发送消息。
要求
- 最小PHP版本:5.3.3。
- Apache Kafka 0.6.x或0.7.x。
- 您需要访问您的Kafka实例,并通过TCP连接。您可以在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