ActiveMQ入门

1. ActiveMQ是什么

ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位

2. ActiveMQ特性

  • queue的消息默认是持久化的
  • 消息的优先级默认是4
  • 消息发送时设置了时间戳
  • 消息的过期时间默认是永不过期,过期的消息进入DLQ,可以配置DLQ及其处理策略
  • 如果消息时重发的,将会标记出来
  • JMSReplyTo标识响应消息发送到哪个queue
  • JMSCorelationID标识此消息相关联的消息id,可以用这个标识把多个消息连接起来
  • JMS同时也记录了消息重发的次数,默认是6次
  • 如果有一组关联的消息需要处理,可以分组:只需要设置消息组的名字和这个消息时第几个消息
  • 如果消息中一个事务环境,则TXID将被设置
  • 此外ActiveMQ在服务器端额外设置了消息入列和出列的时间戳 其实还添加了一个属性JMSMimeType,值为jms/message ActiveMQ里消息属性的值,不仅可以用基本类型,还可以用List或Map类型

3. 什么时候使用ActiveMQ

  1. 异构应用, ActiveMQ虽然为是JAVA平台的, 但它有很多客户端.C/C++, .NET, Perl, PHP, Python, Ruby, 同时ActiveMQ也是跨平台的.

  2. 替代RPC的解决方案, 应用程序广泛地使用RPC风格调用实现同步. 很多C/S应用程序使用RPC包括ATMs, 大多数的web应用程序,信息卡系统,POS机等. 如果同步出现down机情况, 用户体验相当不好. 使用异步消息, 更多的消息接收者能更容易增加消息, 支持并发并且处理得更快. 这时,应用程序已经被解耦.

  3. 使得应用之间松耦合,前面已经提到了, 紧耦合有很多问题,特别是分布式情况下. 松耦合架构, 使得应用程序很灵活,, 也可以引导出event-driven architecture (EDA)

  4. 事件驱动构架的基石,解耦,异步风格的架构通过调优允许Broker伸缩来更进一步来处理相当多的客户端, 更多是内存分配,等等 (称为垂直可伸缩性), 而不是仅依靠增加Broker节点的数目去处理很多更多客户端(称为水平可伸缩性) 的能力。

  5. 提高应用伸缩性,许多应用程序利用事件驱动构架为了获取更多的伸缩性, 例如电子商务, 政府, 制造业, 在线游戏. 这也是SOA的基石.

4. 目前比较知名的消息中间件

  • IBM MQSeries
  • BEA WebLogic JMS Server
  • Oracle AQ
  • Tibco
  • SwiftMQ
  • AcitveMQ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值