1.什么是中间件?
非底层系统操作软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。
2.什么是消息中间件?
关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统。
3.什么是JMS?
Java消息服务(Java Message Service)即 JMS,是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通讯。
4.什么是AMQP?
AMQP(advanced message queuing protocol)是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。
5.消息中间件有: ActiveMQ、RabbitMQ、Kafka。
6.ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
7.JMS 中的相关概念:
提供者:实现JMS规范的消息中间件服务器。
客户端:发送和接收消息的应用程序。
生产者/消费者:创建并发送消息的客户端
消费者/订阅者:接收并处理消息的客户端
消息:应用程序之间传递的数据内容
消息模式:在客户端之间传递消息的方式,JMS中定义了主题和队列两中模式
8.JMS 的编码接口:
ConnectionFactory用于创建连接到消息中间件的连接工厂
Connection代表了应用程序和消息服务器之间的通讯链路
Destination指消息发布和接收的地点,包括队列或主题
Session表示一个单线程的上下文,用于发布和接收消息
MessageConsumer由会话创建,用于接收发送到目标的消息
MessageProducer由会话创建,用于发布消息到目标
Message是在生产者和消费者之间传送的对象,包括:消息头,一组消息属性,一个消息体。
JMS 编码接口之间的关系如下图: