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五种设计模式小结
Mar 23 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
分享十款最出色的PHP安全开发库中文详细介绍
Mar 22 PHP
php如何执行非缓冲查询API
Jul 22 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
PHP levenshtein()函数用法讲解
Mar 08 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
laravel通用化的CURD的实现
Dec 13 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 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
python 解析html之BeautifulSoup
2009/07/07 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
python支持多线程的爬虫实例
2019/12/21 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
大学生职业生涯规划书模板
2014/01/18 职场文书
报关报检委托书
2014/04/08 职场文书
施工安全标语
2014/06/07 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
2015年资料员工作总结
2015/04/25 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python