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学习之PHP变量
Oct 09 PHP
php 地区分类排序算法
Jul 01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
php自定文件保存session的方法
Dec 10 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
php创建session的方法实例详解
Jan 27 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
浅析PHP数据导出知识点
Feb 17 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
thinkphp 获取控制器及控制器方法
Apr 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下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
JS验证字符串功能
2017/02/22 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
化工机械应届生求职信
2013/11/04 职场文书
团日活动总结报告
2014/06/25 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
2015年纪委工作总结
2015/05/13 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
Golang 对es的操作实例
2022/04/20 Golang