作者:太阳神夜 | 来源:互联网 | 2024-10-29 13:32
ActiveMQ是由Apache开发的一款广受欢迎且功能强大的开源消息中间件。作为完全符合JMS1.1和J2EE1.4规范的JMSProvider实现,尽管JMS规范已问世多年,但ActiveMQ依然保持了其在消息队列领域的领先地位。本文将带你初步了解ActiveMQ的核心概念及其应用场景,帮助你快速入门这一重要的消息传递技术。
ActiveMQ是什么?
Apache出品、最流行的、能力强劲的开源消息总线。
是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情,但JMS在当今的J2EE应用中间仍然扮演者特殊的地位。
JMS是什么?
java消息服务(java Message Service)应用程序接口是一个java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间或分布式系统中发送消息,进行异步通信。java消息服务是一个与具体平台无关的API。
概念:
提供者:实现JMS的消息服务中间件服务器。
客户端:发送或接受消息的应用。
生产者/发布者:创建并发送消息的客户端。
消费者/订阅者:接受并处理消息的客户端。
消息:应用程序之间传递的数据。
消息模式:在客户端之间传递消息的模式,JMS主要是队列模式和主体模式。
队列模式特点:
(1)客户端包括生产者和消费者。
(2)队列中的一个消息只能被一个消费者使用。
(3)消费者可以随时取消息。
主体模式特点:
(1)客户端包括发布者和订阅者。
(2)主题中的消息可以被所有订阅者消费。
(3)消费者不能消费订阅之前发送的消息。
JMS的对象模型:
JMS的消息模型:
- Publish/Subscribe 主题/发布订阅
一个生产者,N个消费者
jms的消息结构:
JMS的消息结构=消息头+消息属性+消息体
消息头:关于消息的描述信息,作用:消息的识别和消息的路由
消息属性:消息的附加消息头,属性名可以自定义,k,v形式
消息体类型:
ActiveMQ的特性
- 支持多种编程语言
- 支持多种传输协议
- 有多种持久化方式