1.1.2
什么是消息中间件
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来
进行
分布式系统
的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进
程间的通信。
对于消息中间件,常见的角色大致也就有
Producer
(生产者)、
Consumer
(消
费者)
常见的中间价有:
(
1
)
ActiveMQ
(2)
RabbitMQ
(3)
ZeroMQ
(4)
Kafka
1.2 JMS
简介
1.2.1
什么是
JMS
JMS
(
Java
Messaging Service
)是
Java
平台上有关面向消息中间件的技术规范,它便
于消息系统中的
Java
应用程序进行消息交换
,
并且通过提供标准的产生、发送、接收消息的
接口简化企业应用的开发。
JMS
本身只定义了一系列的接口规范,是一种与厂商无关的
API
,用来访问消息收发系
统。它类似于
JDBC(
java
Database Connectivity)
:这里,
JDBC
是可以用来访问许多不同关
系
数据库
的
API
,而
JMS
则提供同样与厂商无关的访问方法,以访问消息收发服务。许多
厂商目前都支持
JMS
,包括
IBM
的
MQSeries
、
BEA
的
Weblogic JMS service
和
Progress
的
SonicMQ
,这只是几个例子。
JMS
使您能够通过消息收发服务(有时称为消息中介程序或
路由器)从一个
JMS
客户机向另一个
JML
客户机发送消息。消息是
JMS
中的一种类型对
象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息
主体则携带着应用程序的数据或有效负载。
JMS
定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一
些不同形式的数据,提供现有消息格式的一些级别的兼容性。
·
TextMessage--
一个字符串对象
·
MapMessage--
一套名称
-
值对
·
ObjectMessage--
一个序列化的
Java
对象
·
BytesMessage--
一个字节的数据流
·
StreamMessage -- Java
原始值的数据流
1.2.2 JMS
消息传递类型
对于消息的传递有两种类型:
一种是点对点的,即一个生产者和一个消费者一一对应;
另一种是发布
/
订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进
行接收。