【ActiveMQ】概述

来源:互联网 发布:《网络基础知识》文档 编辑:程序博客网 时间:2024/06/10 15:55

【简介】

    1. 是什么

        ActiveMQ是Apache推出的,一款开源的,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现的消息中间件(Message Oriented Middleware,MOM)

    2. 能干什么

        最主要的功能是:实现JMS Provider,用来帮助实现高可用、高性能、可伸缩、易用和安全的企业级面向消息服务的系统。

    3. 特点

         - 完全支持JMS1.1和J2EE1.4规范(持久化、XA消息、事务)

         - 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups

         - 可插拔的体系结构,可以灵活定制,如:消息存储方式

         - 很容易和Application Server集成使用

         - 多种语言和协议编写客户端。语言:java,C,C++等

         - 从设计上保证了高性能的集群,客户端-服务端,点对点

         - 可以很容易的和spring结合使用

         - 支持通过JDBC和journal提供高速的消息持久化

         - 支持与Axis的整合

    4. 什么时候使用

         - 异步调用

         - 一对多通信

         - 做多个系统的集成

         - 作为RPC的替代

         - 多个应用相互解耦

         - 作为事件驱动架构的幕后支撑

         - 为了提高系统的可伸缩性

【安装与使用】

    1. 下载安装

         - 下载 :http://activemq.apache.org/download.html

         - 安装:直接解压

    2. 启动运行

         - 普通启动 :ActiveMQ/bin下,./activemq start

         - 启动并指定日志文件:./activemq start > /tmp/activemq

    3. 检查启动

        61616端口提供JMS服务;

        8161端口提供管理控制台服务;

         - 61616端口是否打开 :netstat -an | grep 61616

         - 查看控制台输出或日志

         - 访问管理页面 :http://ipaddress:8161/admin/

         默认的用户名和密码:admin/admin

    3. 关闭MQ

         - 普通关闭 :./activemq stop

         - 进程关闭: ps -ef | grep activemq 得进程号,kill pid

    4. maven依赖

         在项目中使用activemq,需要先添加以下两个jar包

    <dependency>                <groupId>org.apache.activemq</groupId>        <artifactId>activemq-all</artifactId>        <version>5.9.0</version>    </dependency>    <dependency>                  <groupId>org.apache.xbean</groupId>          <artifactId>xbean-spring</artifactId>          <version>3.16</version>    </dependency>

【总结】

        通过本篇博客的总结,对ActiveMQ有了一个宏观的认识,了解了ActiveMQ是什么,有什么用,在什么场景用。

        在分布式系统中,通常会使用类似ActiveMQ这样的消息中间件,不仅降低了各系统间的耦合性,异步通讯还使得各系统之间的通信效率有了很大的提升,从而保证数据传输的高可用、高性能、可伸缩。但对于分布式事务问题,使用类似ActiveMQ这样现成的消息中间件,仍是无法保证的,还需要利用其去进行扩展加工。

原创粉丝点击