extract php函数(轻松上手 PHP + RabbitMQ 消息发布与订阅)PHP函数 / PHP函数在金融科技项目中的应用...

wufei123 发布于 2024-05-16 阅读(18)

场景开发一个电竞比分网系统,有许多模块依赖实时比赛状态(待开始、进行中、已结束、异常),比赛状态 进行中->已结束 由图像识别处理,识别到比赛结束后向消息队列发送某场比赛的状态信息,其他模块只需订阅队列消息获取比赛状态更新并进行对于逻辑处理

RabbitMQ 概念消息中间件消息(Message)是指在应用间传送的数据消息可以非常简单,比如只包含文本字符串,JSON,也可以很复杂,比如内嵌对象消息队列中间件(Message Queue Middleware,MQ)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

MQ典型应用场景:异步处理流量削峰日志处理应用解耦RabbitMQ 是采用 Erlang 语言实现 AMQP (Advanced Message Queuing Protocol),高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息

Producer: 生产者,生产者创建消息,然后发布到RabbitMQ中消息一般可以包含2个部分:消息体和标签(Label) 消息体也可以称之为payload,在实际应用中,消息体一般是一个带有业务逻辑结构的数据,比如一个 JSON 字符串。

Consumer: 消费者消费者连接到RabbitMQ服务器,并订阅到队列上当消费者消费一条消息时,只是消费消息的消息体(payload)Broker: 消息中间件的服务节点对于RabbitMQ来说,一个RabbitMQ Broker可以简单地看作一个RabbitMQ服务节点,或者 RabbitMQ服务实例 。

Queue: 队列Queue是RabbitMQ 内部对象,用于存储消息RabbitMQ中消息都只能存储在队列中,队列的特性是先进先出RabbitMQ 安装运行使用Docker安装RabbitMQ$ docker pull 。

rabbitmq:3.8.3-management 运行服务端口:5672管理端端口:15672$ docker run --name rabbitmq -d -p 5672:5672 -p 15672

:15672 -v /data:/var/lib/rabbitmq rabbitmq:3.8.3-management web管理端登录查看(http://127.0.0.1:15672)默认账号:guest,默认密码:guest

rabbitmq-admin添加管理员命令行$ docker exec -it 89e8e968aebc bash root@89e8e968aebc:/# rabbitmqctl add_user ar414 ar414

root@89e8e968aebc:/# rabbitmqctl set_user_tags ar414 administrator Web管理端 添加vhost PHP 简单使用安装$ composer

require php-amqplib/php-amqplib 发布者

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻15910