zoukankan      html  css  js  c++  java
  • JMS和ActiveMQ的关系

    JMS和MQ的关系:
      JMS是一个用于提供消息服务的技术规范,它制定了在整个消息服务提供过程中的所有数据结构和交互流程。
    而MQ则是消息队列服务,是面向消息中间件(MOM)的最终实现,是真正的服务提供者;MQ的实现可以基于JMS,也可以基于其他规范或标准。
      
    支持JMS的开源MQ:
      目前选择的最多的是ActiveMQ。
      ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。
    ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

    主要特点:
      1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WSNotification,XMPP,AMQP;
      2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务);
      3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性;
      4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上;
      5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA;
      6. 支持通过JDBC和journal提供高速的消息持久化;
      7. 从设计上保证了高性能的集群,客户端-服务器,点对点;
      8. 支持Ajax;
      9. 支持与Axis的整合;
      10. 可以很容易得调用内嵌JMS provider,进行测试;
      11. ActiveMQ速度非常快;一般要比jbossMQ快10倍。

      优点:
      是一个快速的开源消息组件(框架),支持集群,同等网络,自动检测,TCP,SSL,广播,持久化,XA,和J2EE1.4容器无缝结合,并且支持轻量级容器和大多数跨语言客户端上的Java虚拟机。
      消息异步接受,减少软件多系统集成的耦合度。
      消息可靠接收,确保消息在中间件可靠保存,多个消息也可以组成原子事务。
      缺点:
      ActiveMQ默认的配置性能偏低,需要优化配置,但是配置文件复杂,ActiveMQ本身不提供管理工具;
      示例代码少;主页上的文档看上去比较全面,但是缺乏一种有效的组织方式,文档只有片段,用户很难由浅入深进行了解,
      文档整体的专业性太强。在研究阶段可以通过查maillist、看Javadoc、分析源代码来了解。
  • 相关阅读:
    领域驱动设计概念(Domain-driven Design), Flower(响应式微服务框架)
    主流RPC框架通讯协议实现原理与源码解析
    响应式微服务框架Flower——快速上手
    netty源码-server端绑定端口流程
    ubuntu 20.04版本更新软件源为国内源(清华、网易、阿里云等等)
    ubuntu20.04源码安装nginx
    docker环境下Java获取cpu核心数不准确,实际上是宿主机的cpu核心数
    利用docker快速搭建创建开发环境
    mac配置python环境
    Apache Maven-创建项目
  • 原文地址:https://www.cnblogs.com/hetonghai/p/8567661.html
Copyright © 2011-2022 走看看