Apache ActiveMQ介绍
这一章的内容有:
-
ActiveMQ特性和使用总览
-
下载和安装ActiveMQ
-
理解ActiveMQ文件结构
-
运行ActiveMQ自带例子
企业消息软件从80年代起就存在,它不只是一种应用间消息传递风格,也是一种集成风格。因此,消息传递可以满足应用间的通知和互相操作。但是开源的解决方案是到最近10年才出现的。Apache ActiveMQ就是其中一种。它使应用间能以异步,松耦合方式交流。本章将向您介绍ActiveMQ。
ActiveMQ是Apache软件基金下的一个开源软件,它遵循JMS1.1规范(Java Message Service),是消息驱动中间件软件(MOM)。它为企业消息传递提供高可用,出色性能,可扩展,稳定和安全保障。ActiveMQ使用Apache许可协议。因此,任何人都可以使用和修改它而不必反馈任何改变。这对于商业上将ActiveMQ用在重要用途的人尤为关键。MOM的工作是在分布式的各应用之间调度事件和消息,使之到达指定的接收者(第二章将阐述该内容)。所以高可用,高性能,高可扩展性尤为关键。
ActiveMQ的目标是在尽可能多的平台和语言上提供一个标准的,消息驱动的应用集成。ActiveMQ实现JMS规范并在此之上提供大量额外的特性。这些额外的特性也会在这本书中详细阐述。
你最初的几步对于你成功将ActiveMQ应用在你的工作中尤为重要。对于新手,ActiveMQ看起来令人恐惧;对于有经验的人,则会比较容易理解。这一章将带你熟悉ActiveMQ。你将了解到ActiveMQ的特性集,也将了解到为什么和在哪里部署ActiveMQ。之后,你将有足够的知识去安装和开始使用ActiveMQ。
1.1 ActiveMQ特性
ActiveMQ提供大量的特性,这些特性是用大量人力进行开发的。本书的各章将专注这些特性的各个部分进行讲解。下面是一个高层次的特性列表。
- 遵循JMS规范 ----理解ActiveMQ的起始点是明白ActiveMQ的各种特性是JMS1.1规范的实现。本章后面将讨论JMS规范提供的好处和保证。它们包括同步和异步消息传递,一次和只有一次的消息传递,对于预订者的持久消息等等。依附于JMS规范意味着,不论JMS消息提供者是谁,同样的基本特性都是有效的。
- 连接----ActiveMQ提供各种连接选择,包括HTTP,HTTPS,IP多点传送,SSL,STOMP,TCP,UDP,XMPP等。大量的连接协议支持使之具有更好的灵活性。很多现有的系统使用一种特定协议并且不能改变,所以一个支持多种协议的消息平台降低了使用的门槛。虽然连接很重要,但是和其他容器集成也同样重要。第四章将讲解ActiveMQ的传输连接器(transport connectors)和网络连接器(network connectors)。
- 可插拔的持久性和安全----ActiveMQ提供多种持久性方案可供选择,也可以完全按自己需求定制验证和授权。例如,ActiveMQ通过KahaDB提供自己的超快速消息持久方案(ultra-fast message persistence),但也支持标准的JDBC方案。ActiveMQ可以通过配置文件提供简单的验证和授权,也提供标准的JAAS登陆模块。这两部分内容将在5,6章论述。
- 用Java建立消息驱动应用----ActiveMQ最常用在Java应用中,用于发送和接收消息。这部分的内容涉及JMS规范API,将会在第7章讨论。
-
与应用服务器集成----ActiveMQ与java应用服务器集成是很常见的。第8章提供了一些集成例子,包括Apache Tomcat,Jetty,Apache Geronimo和JBoss。
- 客户端APIs----ActiveMQ对多种语言提供客户端API,除了Java之外还有C/C++,.NET,Perl,PHP,Python,Ruby等。这使得ActiveMQ能用在Java之外的其它语言中。很多其它语言都可以通过ActiveMQ提供的客户端API使用ActiveMQ的全部特性。当然,ActiveMQ代理器(broker)仍然是运行在java虚拟机上,但是客户端能够使用其它的被支持的语言。客户端和ActiveMQ的连接将在第9章讨论。
- 代理器集群(Broker clustering)----为了利于扩展,多个ActiveMQ broker能够联合工作。这个方式就是network of brokers并且能支持多种拓扑结构。这部分将在第10章讨论。
- 高级代理器特性和客户端选项----ActiveMQ为代理器和客户端连接提供很多高级的特性。ActiveMQ也可以通过代理器的XML配置文件支持Apache Camel。这部分内容将在11和12章介绍。
- 简单的管理----ActiveMQ是为开发者设计的。它并不需要专门的管理工具,因为它提供各种易用且强大的管理特性。有很多方法去监控ActiveMQ的各个方面,可以通过JMX使用JConsole或ActiveMQ web console;可以运行ActiveMQ消息报告;可以用命令行脚本;可以通过日志。这些都会在第14章介绍。
上面只是简单介绍了ActiveMQ的特性。就像你看到的,这些特性将在全书的各个章节讨论。为了演示,第3章将带来一些简单例子。但在看这些例子和特性之前,你一定想知道为什么要使用ActiveMQ。
分享到:
相关推荐
在1.1版本中,ActiveMQ与Protobuf的整合可能已经相对成熟,修复了一些早期版本可能出现的问题,并可能增加了新的特性。例如,可能优化了消息的编码和解码过程,提升了消息传递的效率;也可能增强了与其他语言客户端...
ActiveMQ 5.9.0版本提供了许多增强功能和改进,包括性能优化、稳定性提升以及新的特性。 1. **安装与配置**:下载`apache-activemq-5.9.0`压缩包后,用户需要解压到指定目录,并配置相应的环境变量,例如设置`...
ActiveMQ是一款非常流行的开源消息队列中间件,它实现了JMS(Java Message Service,Java消息服务)1.1规范,面向消息的中间件(Message Oriented Middleware,MOM)是指利用高效可靠的消息传递机制进行与平台无关的...
本文将深入探讨虚拟Topic及路由功能,帮助读者理解如何利用这些特性来优化消息传递机制。 #### 一、虚拟Topic配置与原理 ##### 1.1 虚拟Topic简介 虚拟Topic是一种特殊的Topic配置,它允许将一个Topic的消息转发到...
**1.1 ActiveMQ的主要特性** 1. **全面支持JMS规范**:ActiveMQ提供同步和异步消息传递,确保消息的可靠传输,如至少一次投递和恰好一次投递语义,以及持久订阅等功能,使得开发者能够构建基于JMS的应用而不用担心...
2. **JMS兼容性**:ActiveMQ完全符合JMS 1.1规范,这意味着它能与任何JMS兼容的客户端库无缝集成,提供标准API进行消息处理。 3. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT、WS-Notification等...
ActiveMQ是一个高性能、可靠的、完全支持JMS 1.1规范的消息中间件。它提供了多种协议的支持,包括OpenWire、STOMP、AMQP和MQTT,使得不同平台和语言的应用程序可以方便地进行通信。ActiveMQ不仅可以用作纯消息传递...
标题中的"activemq-protobuf-pom-1.1-source-release.zip"是一个源代码发布压缩包,这通常意味着它包含了Apache ActiveMQ项目中与Protocol Buffers(protobuf)相关的POM(Project Object Model)文件的1.1版本的源...
ActiveMQ 的主要特性包括支持多种协议(如 OpenWire、AMQP、STOMP、MQTT、REST),持久性消息存储机制,以及高可用性和负载均衡能力等。 ##### 1.2 下载与安装 根据提供的部分文件内容,我们可以了解到 ActiveMQ ...
- **定义**:ActiveMQ 是 Apache 软件基金会所研发的一款开源消息中间件,它完全支持 JMS 1.1 和 J2EE 1.4 规范,能够作为 JMS Provider 实现消息传递功能。 - **功能**:ActiveMQ 的核心功能在于帮助实现高性能、高...
#### 四、ActiveMQ特性概述 - **完全支持JMS 1.1和J2EE 1.4规范**:ActiveMQ提供了完整的JMS API支持,使得开发者能够轻松地开发符合标准的消息驱动应用程序。 - **多种消息传输协议支持**:包括AMQP、STOMP、MQTT...
通过阅读《ActiveMQ实战(英文版)》,读者将能够学习到如何配置、部署和管理ActiveMQ,以及如何在实际项目中利用其特性解决复杂的消息传递问题。此外,书中可能还会涵盖故障排查、性能调优和最佳实践等内容,帮助...
5. **高级特性**:包括事务、优先级、时间戳、死信队列、消息分页等,这些特性使得ActiveMQ能够处理复杂的业务需求。 6. **安全性**:ActiveMQ支持多种安全认证和授权机制,如JAAS(Java Authentication and ...
除了基本的消息传递功能外,ActiveMQ还提供了许多高级特性,如消息路由、事务支持、集群等。这些特性使得ActiveMQ成为一个强大的企业级消息中间件解决方案。 - **消息路由**:通过集成Apache Camel等工具,ActiveMQ...
⒊ 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性 ⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的...
3. **高级特性**:ActiveMQ具备如消息组通信、消息优先级、延迟接收、虚拟接收者、消息持久化等高级特性,增强了消息处理的灵活性和可靠性。 4. **JMS 1.1及J2EE规范支持**:ActiveMQ完全符合JMS 1.1和J2EE 1.4规范...
综上所述,ActiveMQ是一款功能强大的消息中间件,它不仅符合JMS 1.1规范,还提供了丰富的特性和灵活性,适用于广泛的场景,包括与Java应用服务器的集成以及支持多种语言的客户端API。无论是初学者还是经验丰富的...
ActiveMQ支持多种协议,包括开放标准JMS 1.1、AMQP、STOMP、OpenWire、XMPP等,使得不同语言和框架的应用程序可以无缝地共享数据。 **二、ActiveMQ 5.5.1主要特性** 1. **高性能**:ActiveMQ 5.5.1采用高效的内存和...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它是一个强大的消息总线,遵循JMS(Java消息服务)1.1规范和J2EE 1.4标准。ActiveMQ提供了多种编程语言的客户端接口,包括Java、C、C++、C#、Ruby、Perl、...