标准开头,使用一个技术栈,先了解下其来龙去脉,话不多言,上百度!!!
1.1 RabbtitMQ 简介
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
1.2 AMQP 简介
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。
1.3 常见应用场景
1.任务异步处理
2.应用解耦
3.流量削峰
1.4 简版RabbitMQ工作图
上图的大概意思是这样的:
1.首先有个生产者产生一条消息。
2.需要把消息发到mq上面去,就需要建立tcp连接,然后建立channel。
3.然后通过channel将消息发布到mq中的一个交换机上面去(Exchange)。
4.通过交换机(Exchange)将消息发送到相应的对列(queue)上面去。
5.接下来就是消费者了,通过建立tcp连接,通过channel通道拿到相应对列上的消息。
大概是这样的的流程。
二,MQ安装
MQ官网:Downloading and Installing RabbitMQ — RabbitMQ
由于mq是由erlang语言开发,安装rabbitMQ时需要安装Erlang/OTP,并保持两者的版本匹配。下面是rabbitMQ官网提供的版本对应图(部分)
更多对应关系查看:RabbitMQ Erlang Version Requirements — RabbitMQ
2.1 windows安装
1.下载Erlang/OTP
2.下载rabbitMQ
2.2 linux安装
。。。。。。。未完待续,,,,,