五种工作模式的主要特点
- 简单模式(simple):一个生产者,一个消费者
场景:有一个oa系统,用户通过接收手机验证码进行注册,页面上点击获取验证码后,将验证码放到消息队列,然后短信服务从队列中获取到验证码,并发送给用户。 - work模式:一个生产者,多个消费者,每个消费者获取到的消息唯一,(消费者彼此竞争成为接受者)。
场景:有一个电商平台,有两个订单服务,用户下单的时候,任意一个订单服务消费用户的下单请求生成订单即可。不用两个订单服务同时消费用户的下单请求。 - 订阅模式(fanout):一个生产者发送的消息会被多个消费者获取。
场景:有一个商城,我们新添加一个商品后,可能同时需要去更新缓存和数据库。 - 路由模式(direct):发送消息到交换机并且要指定路由KEY,消费者将队列绑定到交换机时需要指定路由KEY。
场景:还是一样,有一个商城,新添加了一个商品,实时性不是很高,只需要添加到数据库即可,不用刷新缓存。 - topic模式(通配符):将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“*”只匹配一个词,“.”作为分隔符。
场景:还是一样,有一个商城,新添加了一个商品,实时性不是很高,只需要添加到数据库即可,数据库包含了主数据库mysql1和从数据库mysql2的内容,不用刷新缓存。