【笔记】学习RabbitMQ

使用RabbitMQ的好处: 解耦、异步、削峰!

RabbitMQ 工作模型
【笔记】学习RabbitMQ_第1张图片

  • AMQP消息协议,不是JMS协议
  • 消息存放在数据库:
    • Erlang编写的Mnesia数据库
  • 事件机制 监听
  • 交换机用来 路有消息!
    • 交换机与队列是 多对多 的关系,但是在开发中为了方便管理,一般做成一对一的关系。
    • 消费者与队列也可以是 多对多 的关系,但是在开发中为了方便管理,一般做成一对一的关系。

Exchange

Direct Exchange(直连路由)

【笔记】学习RabbitMQ_第2张图片

  • binding key = routing key
  • 业务目的明确
    • 销售系统 - SSO(OA) 销售人员入职

Topic Exchange(主题路由)

【笔记】学习RabbitMQ_第3张图片

  • “*” 1个单词
  • “#” 0个或多个单词
  • 用“.”进行单词分割
  • 业务主题的过滤: 资金;产品;风控
  • 系统分级的过滤:dev sit uat prod

Fanout Exchange(广播路由)

【笔记】学习RabbitMQ_第4张图片

  • 通用的业务: 产品

Spring Boot 整合RabbitMQ

【笔记】学习RabbitMQ_第5张图片

你可能感兴趣的:(JavaWeb,Java,java,rabbitmq,队列)