springboot09-消息

概述

  1. 大多应用中, 可以通过消息服务中间件来提升系统异步通信, 扩展解耦能力.
  2. 消息服务中的两个重要概念
    • 消息代理(message broker)和目的地(destination)
  3. 当消息发送者发送消息时, 由消息代理接管, 消息代理保证消息传递到指定目的地.
  4. 消息队列主要有两种形式的目的地
    • 队列(queue): 点对点消息通信.
    • 主题(topic): 发布(publish) / 订阅(subscribe)消息通信
  5. 点对点式
    • 消息发送者发送消息, 消息代理将其放入一个队列中, 消息接收者从队列中获取消息内容, 消息读取后被移除队列.
    • 消息只有唯一的发送者和接收者, 但并不是说只能有一个接收者.
  6. 发布订阅式
    • 发布者发送消息到主题, 多个接收者监听这个主题, 那么就会在消息到达同时收到消息.
  7. 举例
    • 异步处理
    • 应用解耦
    • 流量削峰
  8. JMS(Java Message Service): Java消息服务
    • 基于JVM消息代理的规范, ActiveMQ, HornetMQ用它.
  9. AMQP
    • 高级消息队列协议, 也是一个消息代理的规范, 并且兼容JMS
    • RabbitMQ是基于AMQP实现的.
  10. Spring支持
    • 有spring-jms, spring-rabbit提供支持
    • 需要ConnectionFactory的实现来连接消息管理.
    • 提供JmsTemplate, RabbitTemplate来发送消息
    • @JmsListener, @RabbitListener注解在方法上监听消息代理发布的消息.
    • @EnableJms, @EnableRabbit开启支持.
  11. Spring Boot自动配置
    • JmsAutoConfiguration
    • RabbitAutoConfiguration

SpringBoot整合RabbitMQ

posted @ 2020-06-16 16:40  yellowstreak  阅读(94)  评论(0编辑  收藏  举报