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 URL地址获取函数代码(端口等) 推荐
May 15 PHP
php数组编码转换示例详解
Mar 11 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 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 IP及IP段进行访问限制的代码
2008/12/17 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
python中MySQLdb模块用法实例
2014/11/10 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python冲顶大会 快来答题!
2018/01/17 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
python实现大文本文件分割
2019/07/22 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
干部培训自我鉴定
2014/01/22 职场文书
诚信承诺书范文
2014/03/27 职场文书
竞聘书格式及范文
2014/03/31 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
维稳工作承诺书
2015/01/20 职场文书
云冈石窟导游词
2015/02/04 职场文书