kafka-php PHP 编写的 kafka 客户端开源项目

我要开发同款
匿名用户2017年04月28日
126阅读
开发技术PHP
所属分类服务器软件、JMS/消息中间件
授权协议Apache

作品详情

Kafka-php使用纯粹的PHP编写的kafka客户端,目前支持0.8.x以上版本的Kafka,该项目v0.2.x和v0.1.x不兼容,如果使用原有的v0.1.x的可以参照文档 KafkaPHPv0.1.xDocument,不过建议切换到v0.2.x上。v0.2.x使用PHP异步执行的方式来和kafkabroker交互,较v0.1.x更加稳定高效,由于使用PHP语言编写所以不用编译任何的扩展就可以使用,降低了接入与维护成本。

安装环境要求

PHP版本大于5.5

KafkaServer版本大于0.8.0

消费模块KafkaServer版本需要大于0.9.0

Installation使用Composer安装

添加composer依赖 nmred/kafka-php 到项目的 composer.json 文件中即可,如:

{"require": {"nmred/kafka-php": "0.2.*"}}Produce<?phprequire '../vendor/autoload.php';date_default_timezone_set('PRC');use Monolog\Logger;use Monolog\Handler\StdoutHandler;// Create the logger$logger = new Logger('my_logger');// Now add some handlers$logger->pushHandler(new StdoutHandler());// 设置生产相关配置,具体配置参数见 [Configuration](Configuration.md)$config = \Kafka\ProducerConfig::getInstance();$config->setMetadataRefreshIntervalMs(10000);$config->setMetadataBrokerList('10.13.4.159:9192');$config->setBrokerVersion('0.9.0.1');$config->setRequiredAck(1);$config->setIsAsyn(false);$config->setProduceInterval(500);$producer = new \Kafka\Producer(function() {return array(array('topic' => 'test','value' => 'test....message.','key' => 'testkey',),);});$producer->setLogger($logger);$producer->success(function($result) {var_dump($result);});$producer->error(function($errorCode, $context) {var_dump($errorCode);});$producer->send();Consumer<?phprequire '../vendor/autoload.php';date_default_timezone_set('PRC');use Monolog\Logger;use Monolog\Handler\StdoutHandler;// Create the logger$logger = new Logger('my_logger');// Now add some handlers$logger->pushHandler(new StdoutHandler());$config = \Kafka\ConsumerConfig::getInstance();$config->setMetadataRefreshIntervalMs(10000);$config->setMetadataBrokerList('10.13.4.159:9192');$config->setGroupId('test');$config->setBrokerVersion('0.9.0.1');$config->setTopics(array('test'));//$config->setOffsetReset('earliest');$consumer = new \Kafka\Consumer();$consumer->setLogger($logger);$consumer->start(function($topic, $part, $message) {var_dump($message);});BasicProtocol

基础协议API调用方式见 Example

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论