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 相关文章推荐
PHP学习 运算符与运算符优先级
Jun 15 PHP
php 静态变量的初始化
Nov 15 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
PHP判断是否连接上网络的方法
Jul 01 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 PHP
PHP树形结构tree类用法示例
Feb 01 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数组
2006/10/09 PHP
如何使用PHP获取网络上文件
2006/10/09 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
浅谈Jquery核心函数
2015/06/18 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
简单的js表格操作
2016/09/24 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
JS块级作用域和私有变量实例分析
2019/05/11 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
司机岗位职责说明书
2014/07/29 职场文书
绵山导游词
2015/02/05 职场文书
人事聘任通知
2015/04/21 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis