zoukankan      html  css  js  c++  java
  • JMS基础(2)

    1.  JMS基本概念

      JMS(Java Message Service) ,Java消息服务JMSSUN提出的旨在统一各种消息中间件(MOM)系统接口的规范。它提供标准的产生、发送、接收消息的接口, 简化企业应用的开发。

                        它支持两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub/Sub)模型。 

      点到点模型(P2P):消息生产者产生一个消息后,把这个消息发送到一个Queue(队列)中,然后消息接收者再从这个Queue中读取,一旦这个消息被一个接收者读取之后,它就在这个Queue中消失了

                  P2P模型规定一个消息只能有一个接收者, 即: 一个消息只能被一个接收者消费。

      发布/订阅模型(Pub/Sub):消息生产者产生一个消息后,把这个消息发送到一个Topic中,这个Topic可以同时有多个接收者在监听,

                    当一个消息到达这个Topic之后,所有消息接收者都会收到这个消息。Pub/Sub 模型允许一个消息可以有多个接收者

      总结简单的讲,点到点模型和发布/订阅模型的区别就是前者是一对一,后者是一对多

    2. JMS定义了2种模型

      (1) P2P: point-to-point,  点对点消息传输模型

      (2) Pub/sub: publish-subscribe, 发布订阅模型

        P2P如下图所示:

            

         如图可以看出一个或多个生产者发送消息消息m2先抵达queue, 消息m1后抵达queue, 它们一同存在于一个先进先出的queue里面消费者也存在一个或多个queue里面的消息进行消费。但消息被随机的一个消费者消费,且仅消费一次。

      点对点消息传递域的特点

      (1) 每个消息只能有一个消费者

      (2) 消息的生产者和消费者之间没有时间上的相关性。

            无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取消息。

      

      在pub/sub消息模型中消息被广播给所有的订阅者:

          

      特点: 每个消息可以有多个消费者。

  • 相关阅读:
    以太坊编程简单介绍 ,Part-1
    以太坊可更新智能合约研究与开发综述
    为你的以太坊应用程序设计架构
    货币的未来取决于打破关于货币历史的虚构谎言
    JVM调优:GC 参数
    JVM调优:GC 参数
    Lucene的FuzzyQuery中用到的Levenshtein Distance(LD)算法
    Lucene的FuzzyQuery中用到的Levenshtein Distance(LD)算法
    Lucene的FuzzyQuery中用到的Levenshtein Distance(LD)算法
    Lucene的FuzzyQuery中用到的Levenshtein Distance(LD)算法
  • 原文地址:https://www.cnblogs.com/chy2055/p/5177950.html
Copyright © 2011-2022 走看看