1.rabbitmq简单介绍
rabbitmq是一种跨进程、异步的通信机制,用于上下游传递消息。由消息系统来确保消息的可靠传递。
1).rabbitmq的作用: 消峰、异步、解耦
2).rabbitmq的特点:
可靠性:通过持久化、传输确认、发布确认等操作保证可靠性
灵活的路由:在消息进入队列之前,通过Exchange来路由消息
对于典型的路由功能,Rabbit已经提供了一些内置的Exchange来实现
针对更复杂的路由功能,可以将多个Exchange绑定在一起,也通过插件机制实现自己的Exchange
消息集群:多个RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker
高可用:队列可以在集群中的机器上进行镜像,实现故障快速切换
跟踪机制:如果消息异常,RabbitMQ提供了消息的跟踪机制
2.rabbitmq模块介绍
rabbitmq的六种工作模式:
1).simple简单模式
一个队列一个消费者
消费者监听消息队列,消息队列中有消息就消费掉,消息队列中数据也会清除
2).work工作模式
一个队列多个消费者
c1和c2共同监听一个消息队列,但是一个消息只能被一个消费者消费
3).publish/subscribe发布订阅模式
生产者将消息不是直接发送到队列,而是发送到交换机,没有路由规则
然后由交换机发送给两个队列,两个消费者各自监听一个队列,来消费消息
4).routing路由模式
消息生产者将消息发送给交换机按照路由判断
交换机根据路由的key,只能匹配上路由key对应的消息队列,对应的消费者才能消费消息
5).topic 主题模式(模糊的路由规则)
消息产生者产生消息后把消息交给交换机
交换机根据key的规则模糊匹配到对应的队列,由队列的监听消费者接收消息消费
6).RPC(远程过程调用)模式
RPC模式与 work工作模式差不多(都不需要交换器、都需要指定唯一的消息队列进行消息传递)
RPC模式是一个回环结构,客户端C先发送消息到消息队列
远程服务端S获取消息,然后再写入另一个消息队列,向原始客户端 Client 响应消息处理结果