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动态图像的创建
Oct 09 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
php多文件上传下载示例分享
Feb 20 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
PHP解压tar.gz格式文件的方法
Feb 14 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
php学习笔记之字符串常见操作总结
Jul 16 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遍历二维数组的代码
2011/04/22 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
浅谈开发eslint规则
2018/10/01 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
python中执行shell命令的几个方法小结
2014/09/18 Python
基于Python的关键字监控及告警
2017/07/06 Python
Python自定义一个异常类的方法
2019/06/27 Python
django settings.py 配置文件及介绍
2019/07/15 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
基本款天堂:Everlane
2017/05/13 全球购物
超市重阳节活动方案
2014/02/10 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
大学生活动总结模板
2014/07/02 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
mysql中between的边界,范围说明
2021/06/08 MySQL