zoukankan      html  css  js  c++  java
  • 第十章:(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

  • 相关阅读:
    我的有道难题算法-双倍超立方数
    终于获取了SharePoint.OpenDocument对象打开的Word对象
    Eclipse下的项目管理插件介绍
    初识 sqlite 与 content provider 学习笔记
    android 官方文档中的一些错误收集
    android TraceView (图形化性能测试工具)使用入门笔记
    Texttospeech 入门与进阶学习笔记(android)
    Intent进阶 和 Intentfilter 学习笔记
    android UI设计属性中英对照表(未修订)
    android学习笔记7天打造一个简易网络Mp3播放器
  • 原文地址:https://www.cnblogs.com/niujifei/p/15737466.html
Copyright © 2011-2022 走看看