图/文:迷神
近期分享大厂必备之RabbitMQ,RabbitMQ三部曲系列文章第二篇,权作抛砖引玉,希望对大家有用:
(一)大厂必备之RabbitMQ:最新CentOS7系统安装与配置RabbitMQ
(二)大厂必备之RabbitMQ:PHP与RabbitMQ消息队列初探
(三)大厂必备之RabbitMQ:RabbitMQ消息发布与订阅(PHP实现)
RabbitMQ是一个在AMQP基础上实现的企业级消息系统。消息队列是“”消费-生产者模型“”的一个典型的代表,就是一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。
在一些开发项目中,我们可以将一些无需即时返回且耗时的操作提取出来,进行了异步操作,而这种异步处理的方式大大的节省了服务器的请求时间,从而提高了系统的吞吐量。而且不影响服务器做其他相应,不独占服务器资源,实现很好的解耦。
有人会想,为什么不使用redis的队列呢?简单的消息队列,我们完全是可以使用Redis实现,而相对复杂的需求,比如消息确认、消息持久化、高可用等需要用RabbitMQ这样的大器来做比较合适。何况,RabbitMQ也提供了跨语言接口,我们可以使用主流编程语言Java,C,C++,Python,PHP等和RabbitMQ做对接。既强大又方便。
下面我们就来具体使用RabbitMQ,说说,PHP与RabbitMQ消息队列初探
RabbitMQ原理结构图
![8bf537ec175aa0afd90df537f51d506a.png](https://i-blog.csdnimg.cn/blog_migrate/b25a4bbf415eefb6a080dcaeb8f4c6d1.jpeg)
简单结构图
生产者(Producer)和消费者(Consumer)是消息队列的基本概念,生产者是指生产消息的一方,也是消息发送方,消费者就是消费消息的一方,也是消息接收方,队列就是存储消息的一个缓存区。本文实例将由生产者