RabbitMQ的使用场景和六种工作方式

使用场景:*

服务解耦、流量削峰、异步调用

*(如支付成功后,安排外卖小哥就可以从消息队列去接收 订单执行寻找操作)

Exchange:

在RabbitMQ中常用 direct、Fanout、Topic三种;

RabbitMQ的六种工作模式(rabbitmq.amqp依赖)

简单模式:生产者发送信息,消费者接收信息 **工作模式:**一个生产者,多个消费者,轮询或者合理分发(每次接收一条信息,处理完再接收),消息持久化。 发布订阅模式:Exchange交换机Fanout,生产者只是声明Fanout,消费者声明还要绑定队列和交换机 路由模式:生产者定义direct交换机,通过关键词发送给指定队列;消费者,定义交换机和队列,用关键词绑定两者。 主题模式:(特殊路由)Topic交换机。由点隔开多个单词。 RPC模式:客户端,发起一个异步请求,交个rabbitmq,服务端接收消息队列后,处理返回;客户端定义RPCClient类,定义一个call方法,这方法发送一个RPC请求,等待响应结果;需要关联id (correlationId)和关联队列名称

应用在订单,主要是第六种,但是很多都是被springboot封装,我们只需要使用就可以; 1.spring-boot-starter-amqp依赖 2.客户端启动类new Queue放在@Bean中 3.实现类AmqpTemplate把调用convertAndSend方法发送队列 4.服务端接收@RabbitListener注解接收队列,实现类处理后返回

经验分享 程序员 微信小程序 职场和发展