首页 » PHP教程 » phprabbitmq教程技巧_做事器RabbitMQ入门教程简介及工作事理

phprabbitmq教程技巧_做事器RabbitMQ入门教程简介及工作事理

访客 2024-12-10 0

扫一扫用手机浏览

文章目录 [+]

RabbitMQ是一个开源的AMQP实现,做事器端用Erlang措辞编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。
用于在分布式系统中存储转发,在易用性、扩展性、高可用性等方面表现不俗。
在RabbitMQ中有三个主要的部分,即:生产者、行列步队、消费者。

简介

1、生产者

phprabbitmq教程技巧_做事器RabbitMQ入门教程简介及工作事理

生产者便是发送的程序,它的紧张任务便是发送到行列步队。

phprabbitmq教程技巧_做事器RabbitMQ入门教程简介及工作事理
(图片来自网络侵删)

2、行列步队

行列步队(queue)便是存放的位置,它的紧张浸染便是存储、转发。
通过你的运用程序和 RabbitMQ 进行传输,它们能够只存储在一个行列步队(queue)中。
行列步队(queue)没有任何限定,你要存储多少都可以——基本上是一个无限的缓冲。
多个生产者(producers)能够把发送给同一个行列步队,同样,多个消费者(consumers)也能够从同一个行列步队(queue)中获取数据。

3、消费者

消费者便是就收的程序,它的紧张任务是获取消息。

如下示意图表示了RabbitMQ的事情流程:P代表生产者、C代表消费者、中间的赤色部分代表行列步队。

把稳:生产者、行列步队、消费者三个部分可以存在于三个做事器中,实际上对付大型的行列步队系统,这三个部分常日是支配在三个不同的地方的。

运用处景

RabbitMQ虽然是一个代理系统,但它的浸染并不仅仅局限于发送,实际上RabbitMQ的常见运用有很多:

1、异步处理

我知道注册是很常见的功能,常日在用户注册后,须要发注册邮件和注册短信。
传统的做法有两种:1、串行的办法;2.并行的办法。

串行办法便是用户须要等待注册信息添加到数据库,邮件和短信发送成功后,才可以收到相应。
如下:

并行办法便是将注册信息写入数据库后,发送邮件的同时,发送短信,以上三个任务完成后,才将相应返回给用户。
如下:

以上两种办法虽然可以完成注册,但都比较耗时。
那么,RabbitMQ如何办理这个问题呢?

利用RabbitMQ,引入行列步队后,把发送邮件和发送短信等不是必须的业务逻辑进行异步处理,即待注册信息添加到数据库之后就立马返回相应。
如下:

从图中可以看出,此种方案耗时相对付前两种方案,要少很多。

2、运用解耦

双11是购物的狂欢节,这一天各大电商平台订单暴增。
一样平常在用户下单后,订单系统须要关照库存系统,传统的做法便是订单系统调用库存系统的接口来减少库存。
如下:

这种做法有如下缺陷:

当库存系统涌现故障时,订单就会失落败。

订单系统和库存系统高耦合.。

如果引入RabbitMQ,那么我们可以这样做:

订单系统:用户下单后,订单系统完成持久化处理,,将写入行列步队,返回用户订单下单成功。

库存系统:订阅下单的,获取下单,进行库操作。
就算库存系统涌现故障,行列步队也能担保的可靠投递,不会导致丢失。

如下:

3、流量销峰

流量削峰一样平常在秒杀活动中运用广泛 。
秒杀活动,一样平常会由于流量过大,导致运用挂掉,为理解决这个问题,一样平常在运用前端加入行列步队。
其浸染如下:

可以掌握活动人数,超过此一定阀值的订单直接丢弃

可以缓解短韶光的高流量压垮运用(运用程序按自己的最大处理能力获取订单)

如下:

用户的要求,做事器收到之后,首先写入行列步队,加入行列步队长度超过最大值,则直接抛弃用户要求或跳转到缺点页面.。
秒杀业务根据行列步队中的要求信息,再做后续处理。

根本观点

ConnectionFactory、Connection、Channel都是RabbitMQ对外供应的API中最基本的工具。

Connection是RabbitMQ的socket链接,它封装了socket协议干系部分逻辑。

ConnectionFactory为Connection的制造工厂。

Channel是我们与RabbitMQ打交道的最主要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布等。

本文转自互联网,如陵犯你的权柄,请及时奉告。

参考地址:http://blog.csdn.net/whoamiyang/article/details/54954780

相关文章