php测试kafka项目示例

作者:李琼涛 时间:2023-11-19 20:40:04 

本文实例讲述了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程序设计有所帮助。

来源:https://my.oschina.net/qiongtaoli/blog/903889

标签:php,kafka
0
投稿

猜你喜欢

  • Pandas数值排序 sort_values()的使用

    2023-02-21 01:12:02
  • Ubuntu Server 11.10安装配置lamp(Apache+MySQL+PHP)

    2023-11-17 02:55:00
  • python groupby函数实现分组后选取最值

    2022-06-02 09:27:45
  • 人脸检测——基于Flask和PaddleHub

    2022-10-09 02:01:30
  • SQL Server 2016 CTP2.3 的关键特性总结

    2024-01-19 12:30:33
  • python的类class定义及其初始化方式

    2023-08-07 11:52:15
  • python实现打砖块游戏

    2023-11-09 21:27:15
  • MySQL长字符截断的实现示例

    2024-01-25 23:55:01
  • Python3使用tesserocr识别字母数字验证码的实现

    2021-02-16 11:51:26
  • django中使用memcached示例详解

    2023-02-10 07:30:50
  • python的django写页面上传文件及遇到的问题小结

    2022-02-28 23:21:10
  • Python中的迭代器与生成器使用及说明

    2022-01-01 08:14:27
  • JavaScript 题型问答有答案参考

    2024-04-19 10:44:41
  • 利用MySQL加密函数保护Web网站敏感数据

    2008-12-17 16:11:00
  • XHTML与HTML之间的7个区别

    2009-05-20 10:13:00
  • python线程优先级队列知识点总结

    2022-01-04 21:25:46
  • python距离测量的方法

    2022-12-05 18:27:45
  • Python修改列表值问题解决方案

    2021-08-02 12:52:39
  • php fread函数使用方法总结

    2024-05-03 15:49:24
  • Go语言中转换JSON数据简单例子

    2024-04-26 17:32:28
  • asp之家 网络编程 m.aspxhome.com