php测试kafka项目示例

时间:2022-07-27
本文章向大家介绍php测试kafka项目示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文实例讲述了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 = KafkaProducerConfig::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 KafkaProducer(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 = KafkaConsumerConfig::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 KafkaConsumer();
$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程序设计有所帮助。