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 empty函数判断mysql表单是否为空
Apr 12 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
php获取目标函数执行时间示例
Mar 04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
php中关于socket的系列函数总结
May 18 PHP
php实现paypal 授权登录
May 28 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
Laravel 5 学习笔记
2015/03/06 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
php读取本地json文件的实例
2018/03/07 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
Python简易版停车管理系统
2019/08/12 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python实现ping命令小程序
2020/12/28 Python
关于python中remove的一些坑小结
2021/01/04 Python
全球度假村:Club Med
2017/11/27 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
小学生演讲稿
2014/01/12 职场文书
一年级学生期末评语
2014/04/21 职场文书
任命书格式
2014/06/05 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers