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 相关文章推荐
杏林同学录(六)
Oct 09 PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
ThinkPHP路由详解
Jul 27 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
laravel中的一些简单实用功能
Nov 03 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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
Content-type 的说明
2006/10/09 PHP
用户的详细注册和判断
2006/10/09 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
JQuery 学习技巧总结
2010/05/21 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
nodeJS微信分享
2017/12/20 NodeJs
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python实现问号表达式(?)的方法
2013/11/27 Python
python处理大数字的方法
2015/05/27 Python
Python lxml模块安装教程
2015/06/02 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
美术师范毕业生自荐信
2013/11/16 职场文书
导师推荐信范文
2014/05/09 职场文书
企业活动策划方案
2014/06/02 职场文书
毕业生求职信
2014/06/10 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
紧急通知
2015/04/17 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis