RabbitMq

消息队列解决了什么问题

  1. 异步处理
    1.串行方式
    RabbitMq
    2.并行方式
    RabbitMq
    3.异步处理
    RabbitMq
  2. 应用结耦

RabbitMq
4. 流量削峰
RabbitMq
5. 日志处理,即时通讯
RabbitMq

Java操作RabbitMq

  1. simple 简单队列
  2. work queues 工作队列 公平分发 轮询分发
  3. public/subscribe 发布订阅
  4. routing 路由选择 通配符模式
  5. topics 主题
  6. 手动和自动确认消息
  7. 队列的持久化和非持久化
  8. RabbitMq的延迟队列
    RabbitMq

在官网教程中,描述了六类工作队列模式:

  1. 简单队列模式:最简单的工作队列,其中一个消息生产者,一个消息消费者,一个队列。也称为点对点模式
  2. 竞争消费者模式:一个消息生产者,一个交换器,一个消息队列,多个消费者。同样也称为点对点模式
  3. 发布/订阅模式:无选择接收消息,一个消息生产者,一个交换器,多个消息队列,多个消费者。称为发布/订阅模式
  4. Routing模式:在发布/订阅模式的基础上,有选择的接收消息,也就是通过routing进行匹配条件是否满足接收消息。
  5. 主题模式:同样是在发布/订阅模式的基础上,根据主题匹配进行筛选是否接收消息,比第四类更灵活。
  6. RPC模式:与上面其他5种所不同之处,类模式是拥有请求/回复的。也就是有响应的,上面5种都没有。
    RabbitMq

以下代码

Spring AMQP Spring-Rabbit

场景demo MQ实现搜索引擎DIH增量