理解面向消息的中间件

定义:消息

(1)消息是可编程实现两端通信的机制

(2)一些消息技术如:

  • TCP/IP sockets
  • 管道
  • 文件
  • 共享存储

异步消息:

(1)异步消息:

  • 对于只返回空值的同步方法,使用异步消息会更好
  • 可以更好管理服务器资源

(2)消息队列:

  • 能够改善性能
  • 允许设置优先级(高优先级消息可以需要首先处理)


 

理解JMS的基本概念

一、定义:Java消息服务

(1)Java消息服务(JMS)是用于访问面向消息中间件的标准API

(2)JMS有以下优点:

  • 即使一方不可用双方仍可以通信
  • 将消息队列从而得到更快的性能

二、消息结构

(1)消息由以下部分组成

  • 10个头字段
  • 称为property(属性)的可选字段
  • 消息


 

三、定义:JMS客户机

(1)JMS客户机是指生产或消费消息的Java程序

(2)Destination(目的)是JMS服务器上消息等待处理的地方

四、域的两种类型

(1)JMS定义了两种域

  • 点对点(point-to-point


 

点对点队列

(1)多个发送者可以在队列中序列化消息给多个接受者

(2)消息被分发给单个客户


 

 

发布/订阅(public/subscribe

 

发布/订阅主题

(1)发布和订阅主题把消费者和生产者分开

(2)消息可以分发给多个订阅者
 

可靠的订阅者

(1)可靠的订阅机制比客户机与JMS供应商的连接持续时间长

(2)可靠的订阅者

  • 使用JMS供应商注册
  • 当不活动时也能够获得分发的消息

(3)JMS供应商负责存储可靠订阅者错过的消息
 

最后我们看一些术语和它们的域: