本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
测试 Android Library 项目类似于测试应用项目。唯一的不同点在于整个库(包括它的依赖)都是自动作为依赖库被添加到测试应用中。结果就是测试 APK 不单只包含自身的代码,还包含了 Library 项目以及它依赖的代码。Library 的 manifest 被组合到测试应用的 manifest 中(引用这个 Library 的项目作为容器)。androidTest task 变为只执行安
本文向大家介绍PHP测试框架PHPUnit组织测试操作示例,包括了PHP测试框架PHPUnit组织测试操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP测试框架PHPUnit组织测试操作。分享给大家供大家参考,具体如下: 首先是目录结构 源文件夹为 src/ 测试文件夹为 tests/ User.php 对应的单元测试文件 UserTest.php 第二个单元测试代码因为要引
问题内容: 该命令仅覆盖一个目录中的文件。 我想要整个项目,这意味着测试应覆盖dir中的所有文件以及该dir下的所有千岁树dir 。 这样做的命令是什么? 问题答案: 这应该在当前目录及其所有子目录中运行所有测试: 这应该针对给定的特定目录运行所有测试: 这应该以前缀为的导入路径运行所有测试: 这应该运行所有带有前缀的测试导入路径: 这应该在$ GOPATH中运行所有测试:
一个项目将会自动生成测试运行。默认位置为: build/reports/androidTests 类似于 JUnit 的报告所在位置 build/reports/tests,其它的报告通常位于 build/reports/<plugin>/ 这个路径也可以通过以下方式自定义: android { ... testOptions { reportDir = "$
我想展示用Gradle 6.0构建的多项目Spring boot应用程序的测试覆盖范围。我们目前使用JUnit5。 SonarQube中的测试覆盖率为0%,尽管存在一些首次测试。 顶层项目(https://github.com/OpenReqEU/eclipse-plugin-vogella/blob/master/server/build.gradle)中的build.gradle文件有以下输入
问题内容: 您会考虑在项目中组织JUnit测试的最佳实践是什么,为什么?例如,您是否将测试保持在测试的类旁边?您是否将它们放在单独但并行的包装结构中?您是否完全使用其他组织策略? 问题答案: 由于多种原因,我使用了一个独立但并行的包结构。 它使测试的组织方式与应用程序代码相同。 我可以轻松地构建仅用于分发的应用程序文件。 测试代码仍然可以访问我的应用程序代码。 它不像将测试代码与应用程序代码混合在