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内核探索:变量概述
Jan 30 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php格式化日期实例分析
Nov 12 PHP
基于PHP生成简单的验证码
Jun 01 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
php常用的工具开发整理
Sep 26 PHP
PHP调用接口API封装的例子
Oct 11 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 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,不用COM,生成excel文件
2006/10/09 PHP
Zend的MVC机制使用分析(一)
2013/05/02 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
js获取div高度的代码
2008/08/09 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
python reverse反转部分数组的实例
2018/12/13 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
python分布式计算dispy的使用详解
2019/12/22 Python
Python pip 常用命令汇总
2020/10/19 Python
2014年圣诞节促销方案
2014/03/14 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
2015年试用期工作总结
2014/12/12 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
Python数据分析入门之数据读取与存储
2021/05/13 Python
Pygame Event事件模块的详细示例
2021/11/17 Python