码迷,mamicode.com
首页 > 其他好文 > 详细

ActiveMQ深入浅出系列 (一)

时间:2018-11-26 23:14:27      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:org   transient   www   nbsp   不同   cxf   pid   服务器   应用程序   

简介

Apache ActiveMQ是一个比较广泛使用的开源消息中间件。他的性能较快,并且支持许多语言的客户端及多种协议。它在企业集成模式中非常易于使用,并且完全支持JMS 1.1 和J2EE 1.4的很多高级特性。Apache ActiveMQ在Apache 2.0 Liense下开源。

主要特性

  • 支持Java, C, C++, C#, Ruby, Perl, Python, PHP等客户端
    • OpenWire模式下的Java, C, C++, C#客户端的性能非常高。
    • Stomp支持是为了C, Ruby, Perl, Python, PHP, ActionScript/Flash,Smalltalk 语言能够方便的和ActiveMQ Broker 通信,就像其他消息Broker一样。
    • 支持AMQP v1.0 。
    • AMQP v1.0 支持允许在IOT环境中的设备的链接
  • JMS客户端和消息Broker完全支持企业集成模式
  • 支持诸如 Message Groups, Virtual Destinations, Wildcards and Composite Destinations
    • Message Group是针对queue。如果在queue模式下,一个生产者对应多个消费者,每生产一条消息,会被消费随即抢到,如果我们不希望这样,只希望固定的消息被固定的消费者消费,那么就采用group对消息进行一个类似标记的作用。另外一方面,Message Groups特性也是一种负载均衡的机制。在一个消息被分发到consumer之前,broker首先检查消息JMSXGroupID属性。如果存在,那么broker会检查是否有某个consumer拥有这个message group。如果没有,那么broker会选择一个consumer,并将它关联到这个message group。此后,这个consumer会接收这个message group的所有消息,直到: 1:Consumer被关闭 2:Message group被关闭,通过发送一个消息,并设置这个消息的JMSXGroupSeq为-1
    • Virtual Destinations 集群应用想要消费同一个队列时可以使用该模式。使用起来非常简单,对于消息发布者来说,就是一个正常的Topic,名称以VirtualTopic.开头。例如VirtualTopic.TEST。对于消息接收端来说,是个队列,不同应用(或者说不同集群 不同组)里使用不同的前缀作为队列的名称,即可表明自己的身份也可实现消费端应用分组。例如Consumer.A.VirtualTopic.TEST来说明他是A组的消费者。可以在同一个组内使用多个consumer来消费此组消息。每组相当于一个持久化订阅者,组内可以有多个消费者共同消费消息。
    • Wildcards and Composite Destination,通过通配符监听一批消息队列及同时发送多个通知。
  • 完全支持JMS 1.1和J2EE 1.4,支持transient, persistent, transactional and XA messaging
  • Spring支持,使ActiveMQ可以轻松地嵌入到Spring应用程序中,并使用Spring的XML配置机制进行配置
  • 在流行的J2EE服务器(如TomEE、Geronimo、JBoss、GlassFish和WebLogic)中进行了测试
    • 包含用于入站和出站消息传递的JCA 1.5资源适配器,以便ActiveMQ能够在任何符合J2EE 1.4的服务器中自动部署
  • 支持可插入传输协议,如in-VM、TCP、SSL、NIO、UDP、多播、JGroups和JXTA传输
  • 支持使用JDBC和高性能日志进行非常快速的持久性
  • 适用于高性能集群、客户端-服务器、对等通信
  • REST API为消息传递提供与技术无关和语言无关的基于web的API
  • Ajax支持使用纯DHTML向web浏览器提供web流支持,允许web浏览器成为消息传递结构的一部分
  • CXF和Axis支持,以便ActiveMQ可以轻松地放到这两个web服务栈中,以提供可靠的消息传递
  • 可以作为内存中的JMS提供程序使用,非常适合对JMS进行单元测试

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

ActiveMQ深入浅出系列 (一)

标签:org   transient   www   nbsp   不同   cxf   pid   服务器   应用程序   

原文地址:https://www.cnblogs.com/alcc/p/10023406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!