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 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
浅析linux下apache服务器的配置和管理
Aug 10 PHP
php ZipArchive压缩函数详解实例
Nov 06 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
php获取根域名方法汇总
Oct 28 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
PHP与Web页面的交互示例详解一
Aug 04 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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
我的论坛源代码(十)
2006/10/09 PHP
下载文件的点击数回填
2006/10/09 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
Python命名空间详解
2014/08/18 Python
python 异常处理总结
2016/10/18 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
函授大专自我鉴定
2013/11/01 职场文书
七年级音乐教学反思
2014/01/26 职场文书
七一党建活动方案
2014/01/28 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
网络管理专业求职信
2014/03/15 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
新学期开学标语
2014/06/30 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
基于angular实现树形二级表格
2021/10/16 Javascript