MQ消息队列系列(3)ActiviteMQ特性

转载 2016年06月01日 17:38:03

转自:http://jfires.iteye.com/blog/1187688

企业消息软件从80年代起就存在,它不只是一种应用间消息传递风格,也是一种集成风格。因此,消息传递可以满足应用间的通知和互相操作。但是开源的解决方案是到最近10年才出现的。Apache ActiveMQ就是其中一种。它使应用间能以异步,松耦合方式交流。

    ActiveMQ是Apache软件基金下的一个开源软件,它遵循JMS1.1规范(Java Message Service),是消息驱动中间件软件(MOM)。它为企业消息传递提供高可用,出色性能,可扩展,稳定和安全保障。ActiveMQ使用Apache许可协议。因此,任何人都可以使用和修改它而不必反馈任何改变。这对于商业上将ActiveMQ用在重要用途的人尤为关键。MOM的工作是在分布式的各应用之间调度事件和消息,使之到达指定的接收者。所以高可用,高性能,高可扩展性尤为关键。

    ActiveMQ的目标是在尽可能多的平台和语言上提供一个标准的,消息驱动的应用集成。ActiveMQ实现JMS规范并在此之上提供大量额外的特性。

    你最初的几步对于你成功将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登陆模块。
  • 用Java建立消息驱动应用----ActiveMQ最常用在Java应用中,用于发送和接收消息。
  • 与应用服务器集成----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并且能支持多种拓扑结构。
  • 高级代理器特性和客户端选项----ActiveMQ为代理器和客户端连接提供很多高级的特性。ActiveMQ也可以通过代理器的XML配置文件支持Apache Camel。这部分内容将在11和12章介绍。
  • 简单的管理----ActiveMQ是为开发者设计的。它并不需要专门的管理工具,因为它提供各种易用且强大的管理特性。有很多方法去监控ActiveMQ的各个方面,可以通过JMX使用JConsole或ActiveMQ web console;可以运行ActiveMQ消息报告;可以用命令行脚本;可以通过日志。这些都会在第14章介绍。

    上面只是简单介绍了ActiveMQ的特性。就像你看到的,这些特性将在全书的各个章节讨论。为了演示,第3章将带来一些简单例子。但在看这些例子和特性之前,你一定想知道为什么要使用ActiveMQ。


相关文章推荐

ActiveMQ 即时通讯服务 浅析

一、 概述与介绍 ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Prov...

ActiveMQ简单的HelloWorld实例

在上一篇博文JMS 规范简介,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点。这篇博文我们主要介绍ActiveM...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...

SceneManager.LoadScene的使用方法

SceneManager.LoadScene的使用方法
  • XYK0318
  • XYK0318
  • 2016年03月17日 09:52
  • 18590

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C语言dup和dup2函数

功能:复制文件描述符 头文件:#include 函数原型:int dup(int oldfd)           int dup2(int oldfd,int newfd) 功能详解:dup和d...

weui loading效果实现

界面 --> ...

Logger日志级别说明及设置方法、说明

Logger日志级别说明及设置方法、说明

DELPHI ClientData使用详解

转自http://hi.baidu.com/%B6%C0%C7%E9%B1%F9%D0%C4/blog/item/de918639d9fde2ff55e723fa.html 在三层结构中,TClie...

java gc的log分析

最近没什么事,主要是看到程序GC较快  所以想看下程序有没有问题,网上的一篇文章 http://book.51cto.com/art/201306/399236.htm 在程序启动的时候加上  几个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MQ消息队列系列(3)ActiviteMQ特性
举报原因:
原因补充:

(最多只允许输入30个字)