背景
做新项目需要使用到异步过程,这里需要使用到消息队列,调研了下市面上的队列服务,目前考虑使用 RabbitMq队列。
- 至于为啥选RabbitMq,是因为市场占有率高,表现比较稳定,社区活跃程度高,相对完善的文档和资料。
技术选择
类型 | 值 |
---|---|
语言 | PHP >= 7.2 |
框架 | swoft |
队列 | RabbitMq |
数据库 | Mysql |
前言 AMQP
概要:
AMQP是一种通信协议,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。
具体有那些交换机和队列请参考:
- 官网:https://www.rabbitmq.com/getstarted.html
- 中文微博:https://blog.csdn.net/weixin_37641832/article/details/83270778
简析RabbmitMq
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。