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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
php压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
基于php和mysql的简单的dao类实现crud操作功能
Jan 27 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 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单例模式定义与使用实例详解
2017/02/06 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
js自定义回调函数
2015/12/13 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
详解React 元素渲染
2020/07/07 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python使用Supervisor来管理进程的方法
2015/05/28 Python
基于python时间处理方法(详解)
2017/08/14 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Python使用gRPC传输协议教程
2018/10/16 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
python3人脸识别的两种方法
2019/04/25 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
计算机网络专业个人的自我评价
2013/10/17 职场文书
心得体会范文
2014/01/04 职场文书
小学生家长寄语
2014/04/02 职场文书
城管综合整治方案
2014/05/01 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers