ActiveMQ学习笔记(一)——JMS的概念

分类: 转载文章 0人评论 dexcoder 1年前发布

1.面向消息的中间件

1.1什么是MOM

? ? ?面向消息的中间件,Message Oriented Middleware,简称MOM,中文简称消息中间件,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

? ? 一个MOM系统,通常会包括客户端(Clients)、消息(Message)和 MOM,客户端是发送或者接受消息的应用程序,消息封装了要传递的内容,MOM可以存储和转发消息。如下图所示,系统A和系统B之间的消息传递,不是直接通信,而是通过中间件来间接的传递。

1.2MOM的好处

  • 降低系统间通信复杂度

? ? ?有了MOM,系统间的通信,不用考虑系统是什么语言开发的,也不用考虑复杂的网络编程,各个系统只需要关心自身和MOM之间如何进行消息的接受和发送即可,这些操作通过简单的API就可以完成。

  • 提高了消息的灵活性

? ? 系统A通过MOM向系统B发送消息,消息可以存储在MOM中,并由MOM转发。即使是系统B不在线,MOM会持有这个消息,直到系统B连接并处理消息。

? ? 这就是说,系统A发完消息后,就可以执行其它操作,而不必阻塞等待,尤其是对那些时间无关或者并行处理的操作,非常适用。

  • 松散耦合

? ? 有了MOM的存在,对于系统B而言,只要发送的消息没有变化,就不必考虑系统A的变化。A系统的代码改变,不会影响到B系统,反之亦然。

2.JMS概念

2.1 JMS是什么

? ? ?Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

? ? ?Java消息服务的规范包括两种消息模式,点对点和发布者/订阅者。

? ? ?Java消息服务支持同步和异步的消息处理。

? ? ?一个JMS系统,通常包括了以下部分:

  • JMS Client,java语言编写的客户端,用于发送和接受消息。

  • Non-JMS Client,使用消息系统本地API编写的客户端,而不是使用JMS API。

  • Message,消息,被定义,用于在不同的客户端之间交换。

  • JMS Provider,JMS提供商,是消息系统(比如ActiveMQ),当然,即可以支持JMS,也可以同时支持Non-JMS。

  • Administered Objects,被管理的对象,预置的JMS对象,为客户端使用。

2.3 JMS规范

JMS规范只是定义了接口,并没有实现,规范全文见:JSR 914: JavaTM Message Service (JMS) API?。

上一篇:
下一篇:

你可能感兴趣的文章

0 条评论