kafka-php 使用纯粹的php 编写的 kafka 客户端,目前支持 0.8.x 以上版本的 kafka,该项目 v0.2.x 和 v0.1.x 不兼容,如果使用原有的 v0.1.x 的可以参照文档 kafka php v0.1.x document , 不过建议切换到 v0.2.x 上。v0.2.x 使用 php 异步执行的方式来和kafka broker 交互,较 v0.1.x 更加稳定高效, 由于使用 php 语言编写所以不用编译任何的扩展就可以使用,降低了接入与维护成本。
PHP 版本大于 5.5
Kafka Server 版本大于 0.8.0
消费模块 Kafka Server 版本需要大于 0.9.0
添加 composer 依赖 nmred/kafka-php 到项目的 composer.json 文件中即可,如:
立即学习“PHP免费学习笔记(深入)”;
{
"require": {
"nmred/kafka-php": "0.2.*"
}
}
<?php
require '../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();
<?php
require '../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);
});以上内容就是使用 PHP 编写的 Kafka 客户端 教程,希望能帮助到大家。
相关推荐:
以上就是使用 PHP 编写的 Kafka 客户端 的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号