php测试kafka项目示例


Posted in PHP onFebruary 06, 2020

本文实例讲述了php测试kafka项目。分享给大家供大家参考,具体如下:

概述

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

主要应用场景是:日志收集系统和消息系统。

安装kafka-php项目依赖

composer require nmred/kafka-php

produce.php

<?php
require './vendor/autoload.php';
date_default_timezone_set('PRC');
$config = \Kafka\ProducerConfig::getInstance();
$config->setMetadataRefreshIntervalMs(10000);
$config->setMetadataBrokerList('127.0.0.1:9092');
$config->setBrokerVersion('0.10.2.1');
$config->setRequiredAck(1);
$config->setIsAsyn(false);
$config->setProduceInterval(500);
$producer = new \Kafka\Producer(function() {
 $t = time();
 return array(
 array(
  'topic' => 'test',
  'value' => $t,
  'key' => $t,
 ),
 );
});
$producer->success(function($result) {
 var_export($result);
});
$producer->error(function($errorCode) {
 var_dump('error', $errorCode);
});
$producer->send();

consumer.php

<?php
require './vendor/autoload.php';
date_default_timezone_set('PRC');
$config = \Kafka\ConsumerConfig::getInstance();
$config->setMetadataRefreshIntervalMs(10000);
$config->setMetadataBrokerList('127.0.0.1:9092');
$config->setGroupId('test');
$config->setBrokerVersion('0.10.2.1');
$config->setTopics(array('test'));
$consumer = new \Kafka\Consumer();
$consumer->start(function($topic, $part, $message) {
 var_dump($message);
});

测试生产者

php produce.php

测试消费者

php consumer.php

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
实现dedecms全站URL静态化改造的代码
Mar 29 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
php字符串分割函数用法实例
Mar 17 PHP
php中namespace use用法实例分析
Jan 22 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 #PHP
PHP实现常用排序算法的方法
Feb 05 #PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 #PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 #PHP
php post换行的方法
Feb 03 #PHP
PHP中mysqli_get_server_version()的实例用法
Feb 03 #PHP
php把文件设置为插件的技巧方法
Feb 03 #PHP
You might like
PHP 地址栏信息的获取代码
2009/01/07 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python 数据的清理行为实例详解
2017/07/12 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
python 制作简单的音乐播放器
2020/11/25 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
护理专业自荐信
2013/12/03 职场文书
企业为何需要商业计划书
2013/12/26 职场文书
元旦联欢会感言
2014/03/04 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
前台文员岗位职责
2015/02/04 职场文书
广播体操比赛主持词
2015/06/29 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python
php修改word的实例方法
2021/11/17 PHP
配置Kubernetes外网访问集群
2022/03/31 Servers