php框架中配置Kafka

Tp5使用Kafka:封装生产者、消费者操作类 【相关文章】PHP操作Kafka:php-rdkafka扩展的安装 1、config.php中配置: //kafka连接配置 'kafka_server' => [ 'host' => '127.0.0.1:9092', 'topic' => 'topic1', ], 2、创建一个生产者 KafkaProducer.php : <?php namespace app\index\controller; class KafkaProducer { p 阅读详情

由于Kafka是由Java编写的,所以我们需要先安装 java 的 jdk

大致运行原理

在这里插入图片描述

1. producer 先从 zookeeper 的 “/brokers/…/state” 节点找到该 partition 的 leader
2. producer 将消息发送给该 leader
3. leader 将消息写⼊本地 log
4. followers 从 leader pull 消息,写⼊本地 log 后 leader 发送 ACK(确认字符)
5. leader 收到所有 ISR 中的 replica 的 ACK 后,增加 HW(high watermark,最后 commit 的
offset) 并向 producer 发送 ACK

下载网址

然后下载到任意位置,进行配置环境变量

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后打开命令行进行测试看jdk是否安装成功

在这里插入图片描述

在框架中安装Kafka扩展的时候需要在框架中进行一个扩展的安装【注意下载的时候要和我们的PHP版本相对应】

下载扩展包

在这里插入图片描述

然后在我们的小皮里面进行配置

1.将上面的第一个文件放入配置文件中

在这里插入图片描述

2.然后再将第二个文件放入下面的配置中

在这里插入图片描述

3,最后在我们的小皮中进行一个添加,重启小皮

在这里插入图片描述

然后我们能够通过phpinfo()查到php中的rdKafka

在这里插入图片描述

然后我们进行启动【备注,代码里面&这里代表常连接】

1.zookeeper 启动命令:【单独开启一个服务】
bin/windows/zookeeper-server-start.bat config/zookeeper.properties &

2.kafka 启动命令:【单独开启一个服务】
bin/windows/kafka-server-start.bat config/server.properties &

3.创建topic:【3、4、5在一个窗口下执行】
bin/windows/kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

4.查看创建的topic
bin/windows/kafka-topics.bat --list --bootstrap-server localhost:9092

5.启动生产者 producer
bin/windows/kafka-console-producer.bat --broker-list localhost:9092 --topic test

6.启动消费者 customer【消费者在一个窗口下执行】
bin/windows/kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后在我们的tp6框架中进行composer安装

composer require noname007/kafka-php

在这里插入图片描述

然后我们就可以使用代码在框架中进行生产和消费了

use Kafka\lib\ProducerConfig;

//producer⽣产者
    public function producer()
    {
        $config = ProducerConfig::getInstance();
        /* Topic的元信息刷新的间隔 */
        $config->setMetadataRefreshIntervalMs(10000);
        /* 设置broker的地址 */
        $config->setMetadataBrokerList('127.0.0.1:9092');
        /* 设置broker的代理版本 */
        $config->setBrokerVersion('1.0.0');
        /* 只需要leader确认消息 */
        $config->setRequiredAck(1);
        /* 选择异步 */
        $config->setIsAsyn(false);
        /* 每500毫秒发送消息 */
        $config->setProduceInterval(500);
        /* 创建⼀个⽣产者实例 */
        $producer = new \Kafka\Producer();
        for($i = 0; $i < 100; $i++ ) {
            $producer->send([
                [
                    'topic' => 'wxq',
                    'value' => 'test'.$i,
                ],//consumer
            ]);
        }
    }
 //consumer消费者
    public function consumer()
    {
        //consumer
        $config = ProducerConfig::getInstance();
        $config->setMetadataRefreshIntervalMs(10000);
        $config->setMetadataBrokerList('127.0.0.1:9092');
        $config->setGroupId('wxq');
        $config->setBrokerVersion('1.0.0');
        $config->setTopics(['wxq']);
        $consumer = new \Kafka\Consumer();
        $consumer->start(function($topic, $part, $message) {
            var_dump($message);
        });
    }
//consumer消费者
    public function consumer()
    {
        //consumer
        $config = ProducerConfig::getInstance();
        $config->setMetadataRefreshIntervalMs(10000);
        $config->setMetadataBrokerList('127.0.0.1:9092');
        $config->setGroupId('wxq');
        $config->setBrokerVersion('1.0.0');
        $config->setTopics(['wxq']);
        $consumer = new \Kafka\Consumer();
        $consumer->start(function($topic, $part, $message) {
            var_dump($message);
        });
    }
CORS(跨域资源共享)漏洞解决方法 最近,测试环境上的项目被360测试人员检测出来有一个CORS漏洞,以下记录下漏洞问题与解决方法。 一、低危漏洞:CORS漏洞问题 测试人员访问某个url,将请求头中的Origin字段修改为任意值,结果仍然能获得正确的响应报文,就说明有CORS漏洞。 当CORS的设置不正确时,就会带来安全问题;当响应头中的Access-Control-Allow-Origin设置为null或*时,表示信任任何域,这时候就可能引入安全问题。 修复方法是合理配置CORS,判断Origin是否合法;具体说就是不让在nginx或t 阅读详情

相关推荐

ROS2中间件选型指南:FastDDS与CycloneDDS零拷贝机制对比与实战

在机器人开发中,通信中间件是连接分布式节点的核心纽带,其性能直接影响系统的实时性与可靠性。DDS作为ROS2默认的通信标准,通过发布订阅模型和QoS策略,为高频大带宽场景提供了灵活的数据分发能力。并行计算与高性能传输的需求,推动了零拷贝技术的演进——从传统序列化到共享内存乃至指针传递,旨在减少数据复制开销、降低延迟。在激光雷达点云、相机图像等场景下,中间件的选型尤为关键。FastDDS凭借与ROS2的深度集成和丰富文档成为入门首选,而CycloneDDS在低延迟和资源占用上表现更优,借助iceoryx实现了

weixin_28726391的博客 250

PHP操作Kafka

本文对php操作kafka的方法做一个记录,备忘。 一、搭建kafka集群 下载kafka并解压: tar -xzf kafka_2.13-2.7.0.tgz 搭建单机集群: cd kafka_2.13-2.7.0 #创建两个broker配置并修改端口 cp config/server.properties config/server-1.properties cp config/server.properties config/server-2.properties 编辑拷贝.

右手诗的博客 5665

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

消息中间件Kafka(PHP版本)

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是

masterphp的博客 1912

Linux-BSP-WIFI驱动移植与调试实战——以RTL8189FS为例

本文以RTL8189FS为例,详细介绍了Linux BSP中WiFi驱动移植与调试的全流程。涵盖硬件原理图分析、内核配置、设备树适配、驱动编译加载及问题排查等关键步骤,提供实用的调试技巧和解决方案,帮助开发者高效完成嵌入式WiFi驱动开发。

moon9的博客 396

ESP32接入扣子(Coze) API使用自定义智能体

本示例将使用ESP32开发板通过WiFi接入 **Coze API**,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如何通过HTTP请求和JSON解析来与API进行交互,并给出完整的代码示例。

宁子希的博客 1万+

tp6中kafka使用

<?php namespace app\util; use \RdKafka\Conf; use \RdKafka\Producer; class Kafka{ public $kafkaConfig; public $kafkaResource; //初始化 public function __construct(){ $this->connect(); } /** * 连接 */ pri.

阅读之后,对你有帮助,那就点个赞再走吧 2800

【Python图像处理局部放大】输入图像,选择两处不同的区域进行放大操作,然后将原始图像、处理后的两个区域以及标记合成新图像进行展示

Python图像处理与区域放大连接标记:选择特定区域并对其进行放大操作,然后将原始图像、处理后的两个区域进行标记后的新图像保存到文件中。

qq_35831906的博客 2243

kafka php 安装配置,Kafka的介绍以及基于PHP的kafka的安装和测试

本篇文章给大家分享的内容是关于Kafka的介绍以及基于PHP的kafka的安装和测试,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们。简介Kafka 是一种高吞吐量的分布式发布订阅消息系统kafka角色必知producer:生产者。consumer:消费者。topic: 消息以topic为类别记录,Kafka将消息种子(Feed)分类, 每一类的消息称之为一个主题(Topic)。brok...

weixin_32987379的博客 476

YOLO11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

魔改工程师的博客 4510

【数据集处理】基于ERA5 气温/湿度数据计算湿球温度并判别湿热浪

【数据集处理】基于ERA5 气温/湿度数据计算湿球温度并判别湿热浪

WW、forever的博客 485

PHP Kafka 使用详解

PHP使用kafka进行消息订阅

weixin_39104010的博客 3675

YOLOv8改进,MobileNetV3轻量化架构改进特征提取网络,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3835

laravel如何使用kafka,及其kafka类

本文并没有kafka的安装教程,本文是针对已经安装kafka及其配置好kafka的php拓展并且使用laravel框架进行开发项目,配置一个可供laravel框架使用的生产及消费者类. 以下代码修改自本站的YII框架关于kafka类的代码,经过测试使用在本人的项目中,可正常运行,larvael版本:5.6 代码放置larvael框架位置:app/Tools/Kafka.php &l...

心得的博客 7123

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Laravel-Queue-Kafka 常见问题解决方案

Laravel-Queue-Kafka 常见问题解决方案 项目基础介绍 Laravel-Queue-Kafka 是一个为 Laravel 框架开发的 Kafka 队列驱动程序。它允许 Laravel 应用程序使用 Kafka 作为消息队列系统,从而实现高效的消息传递和处理。该项目的主要编程语言是 PHP,并且它依赖于 Laravel 框架。 新手使用注意事项及解决方案 1. 安装 librdkaf...

gitblog_00975的博客 685

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

php kafka 框架,php-kafka框架

php-kafka框架项目简介php-kafka框架,重点关注业务上游,避免重复造轮子github源码地址官网博客功能特性低级消费与高级消费支持数据聚合批量回调,应对上游业务需要聚合数据的,典型的场景:消费到的kafka消息需要一次性聚合查询某个API,而不是消费到一条就查询一次API支持进程自定义时间(毫秒级)来平滑结束进程,并且配合crontab来重新启动,达到平滑更新Php代码,典型的场景:...

weixin_40008884的博客 277

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Laravel下Kafka的使用

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Kafka\Consumer; use Kafka\ConsumerConfig; use Kafka\Producer; use Kafka\ProducerConfig; //use Kafka; class KafkaController extends Controller { // function __constr

记得微笑的博客 2606

tp5 发送邮件结合kafka消息队列

一、安装邮件操作类 composer require phpmailer/phpmailer 二、在config中配置相关信息 //邮件发送配置 'email' => [ 'Host' => 'smtp.qq.com',//SMTP服务器 以QQ邮箱为例子 'Port' => '465',//邮件发送端口 'SMTPAuth' => true,//启用SMTP认证 'SMTPSecure' =>

qq_54393165的博客 1118

Laravel Queue Kafka 项目推荐

Laravel Queue Kafka 项目推荐 项目基础介绍和主要编程语言 Laravel Queue Kafka 是一个为 Laravel 框架提供 Kafka 队列驱动支持的开源项目。该项目的主要编程语言是 PHP,它充分利用了 Laravel 的队列系统,使得开发者能够轻松地将 Kafka 作为消息队列服务集成到 Laravel 应用中。 项目核心功能 Kafka 队列驱动支持:该项目为...

gitblog_00112的博客 459

nmred kafka-php,Laravel 实现 Kafka 消息推送与接收处理 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区...

[Laravel 实现 Kafka 消息推送与接收处理 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区]安装环境要求PHP 版本大于 7.0Kafka Server 版本大于 0.8.0消费模块 Kafka Server 版本需要大于 0.9.0安装使用 Composer 安装添加 composer 依赖 nmred/kafka-php 到项目的 com...

weixin_35450735的博客 640

Kafka 消息队列的使用

本篇概要:1. 消息队列相关概念;2. Kafka 消息队列;3. 安装 Kafka 服务;4. 安装PHP的 Kafka 扩展 rdkafka;5. 编写 Kafka 的生产者方法;6. 编写 Kafka 的异步消费者方法。 1. 消息队列相关概念; 相关概念: 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削峰等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大...

业余敲代码 1905

Thinkphp6 安装Kafka扩展

phpinfo() 查询信息,本机为PHP7.4.3,NTS。

君子如玉的博客 630

nginx-php镜像安装常用软件 —— k8s从入门到高并发系列教程 (三)

以笔者公司使用的 yaf+yar 的组合进行mvc分离和微服务调用,同时给php安装企业正常运行的基础扩展,包括 mysql、redis、memcached、kafka 以及php包管理器 composer

fanghailiang2016的博客 1190

Sunshine 自建游戏串流:3 个检查点把主机装进平板

Sunshine 是一款免费、开源、自托管的游戏串流服务器:装在你自己的游戏主机上,把屏幕画面压缩成视频送出去,再把客户端回传的按键、手柄输入模拟回主机。工位上那台主机每天只亮两小时,你的平板只会刷视频——两样东西配在一起,平板就能在客厅随时玩主机上的游戏。按下面三个检查点照做,20 分钟画面就能铺满屏幕、手柄有响应。 [![Sunshine 自建游戏串流服务器网页管理界面](https://r

gitblog_00284的博客 652

php-msf任务队列应用:Beanstalk与Kafka消息处理实践

php-msf作为一款轻量级PHP微服务框架,提供了完善的任务队列解决方案,支持Beanstalk和Kafka两种主流消息中间件。本文将详细介绍如何在php-msf中集成并使用这两种队列系统,帮助开发者构建高可用的异步任务处理架构。 ## 核心组件架构 php-msf的任务队列系统采用**生产者-消费者**模式设计,主要包含以下核心模块: - **队列接口层**:[src/Queue/IQu

gitblog_00812的博客 324

Hyperf消息队列实战:RabbitMQ、Kafka、NSQ三大组件集成指南

在现代微服务架构中,消息队列作为解耦系统组件、提升系统可靠性的关键技术,已成为开发者的必备技能。Hyperf框架为PHP开发者提供了强大的消息队列支持,通过AMQP、Kafka和NSQ三大组件,让消息队列的集成变得简单高效。本文将为您详细介绍如何在Hyperf中集成RabbitMQ、Kafka和NSQ,帮助您构建高性能的分布式应用系统。 ## 🔥 为什么选择Hyperf消息队列? Hyper

gitblog_00654的博客 649
上一篇: MySQL数据库一主一从主从同步
下一篇: 宝塔/本地 nginx负载均衡配置
stringQiang
博客等级 码龄5年 36粉丝 36原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值