MQ介绍,RabbitMQ介绍,安装,配置,架构,五种常用工作模式helloword。
RabbitMQ-入门
MQ介绍
MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法。
RabbitMQ介绍
RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
6中工作模式







安装
配置
地址:
端口号:
5672
15672
25672
入门程序
创建工程

导入依赖
1 | <dependencies> |
生产者producer
1 | import com.rabbitmq.client.Channel; |
idea控制台:
1 | "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" |

rabbitMQ控制台

消费者consumer
1 | import com.rabbitmq.client.*; |
idea 控制台
1 | "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" |
rabbitMQ控制台

五种工作模式
简单模式
工作模式
订阅模式pubsub
helloword(简单模式)
即入门程序
工作模式
架构图:

一个生产者,一个队列,多个消费者
producer
1 | import com.rabbitmq.client.Channel; |
consumer1
1 | import com.rabbitmq.client.*; |
consumer2
1 | import com.rabbitmq.client.*; |
先运行消费者1,再运行消费者2,最后运行生产者。
生产者:
1 | "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" |
消费者1
1 | 接收到的消息为:1hello rabbit |
消费者2
1 | 接收到的消息为:0hello rabbit |

订阅模式(广播)
交换机类型:fanout

Exchange(交换机)只转发消息,不存储消息,因此如果没有任何队列与Exchange绑定,或者没有符合路由规则的队列,那么消息会丢失!
生产者
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
消费者1
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
消费者2
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
路由模式
队列与交换机绑定时,指定RoutingKey
消息发送时,指定消息的RoutingKey
队列根据RoutingKey接收消息。
交换机类型:direct

producer
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
consumer1
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
consumer2
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
通配符模式
交换机类型topic
#:匹配0个或多个词
*:匹配恰好1个词

producer
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
consumer1
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |
consumer2
1 | import com.xiaorui.rabbitmq.util.ConnectionUtil; |