• 第十章:(1)Spring Boot 与 消息 之 消息服务


    一、概述

      1、大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力

      2、消息服务中两个重要概念:

        消息代理(message broker) 和 目的地(destination)
        当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。

      3、消息队列主要有两种形式的目的地

        (1)队列(queue) :点对点消息通信(point-to-point)

        (2)主题(topic) :发布(publish) /订阅(subscribe)消息通信

      4、点对点式

        消息发送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后被移出队列
        消息只有唯一的发送者和接受者,但并不是说只能有一个接收者

      5、发布订阅式

        发送者(发布者)发送消息到主题,多个接收者(订阅者)监听(订阅)这个主题,那么就会在消息到达时同时收到消息

      6、JMS(Java Message Service) JAVA消息服务

        基于JVM消息代理的规范。 ActiveMQ、 HornetMQ是JMS实现

      7、AMQP(Advanced Message Queuing Protocol)

        高级消息队列协议,也是一个消息代理的规范,兼容JMS

        RabbitMQ是AMQP的实现

    二、消息服务的优点

      1、异步处理

        

      2、应用解耦

        

      3、流量削峰

        

    三、JMS 和 AMQP 的对比

      

    四、Spring Boot 对消息服务的支持

      1、Spring 支持

      (1)spring-jms 提供了对JMS的支持

      (2)spring-rabbit 提供了对AMQP的支持

      (3)需要 ConnectionFactory 的实现来连接消息代理

      (4)提供JmsTemplate、 RabbitTemplate来发送消息

      (5)@JmsListener(JMS)、 @RabbitListener(AMQP)注解在方法上监听消息代理发布的消息

      (6)@EnableJms、 @EnableRabbit开启支持

      2、SpringBoot 自动配置

        JmsAutoConfiguration

        RabbitAutoConfiguration

  • 相关阅读:
    使用Xshell登录AWS的EC2云服务器和开启EC2上允许root+密码方式登录
    Spring进阶—如何用Java代码实现邮件发送(二)
    使用Spring的JAVA Mail支持简化邮件发送
    jquery $.each终止本次循环
    高山流水,知音难觅
    chrome浏览器 开发者工具简介
    多尺寸图片左右切换功能前端实现
    会员等级进度功能前端实现
    Chrome Developer Tools:Timeline Panel说明
    直播评论发弹幕切图功能点集合
  • 原文地址:https://www.cnblogs.com/niujifei/p/15737466.html
Copyright © 2020-2023  润新知