前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ActiveMQ介绍及安装

ActiveMQ介绍及安装

作者头像
用户4919348
发布2019-04-02 11:23:36
1.6K0
发布2019-04-02 11:23:36
举报
文章被收录于专栏:波波烤鸭波波烤鸭

一、JMS简介

  全称:Java Message Service 中文:Java消息服务。   JMS是Java的一套API标准,最初的目的是为了使应用程序能够访问现有的MOM系统(MOM是Message Oriented Middleware的英文缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。);后来被许多现有的MOM供应商采用,并实现为MOM系统。   基于JMS实现的MOM,又被称为JMS Provider。

1.什么是消息

  “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。   消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。

2.什么是消息队列

  “消息队列”是在消息的传输过程中保存消息的容器。

3.常用的消息中间件有哪些

3.1ActiveMQ

  ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。

3.2RabbitMQ

  RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。开发语言为Erlang。

3.3RocketMQ

  由阿里巴巴定义开发的一套消息队列应用服务。

4.消息队列的应用场景

  消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。如:跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。   多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。   在企业应用集成(EAI)中,文件传输,共享数据库,消息队列,远程过程调用都可以作为集成的方法。   应用内的同步变异步,比如订单处理,就可以由前端应用将订单信息放到队列,后端应用从队列里依次获得消息处理,高峰时的大量订单可以积压在队列里慢慢处理掉。由于同步通常意味着阻塞,而大量线程的阻塞会降低计算机的性能。   消息驱动的架构(EDA),系统分解为消息队列,和消息制造者和消息消费者,一个处理流程可以根据需要拆成多个阶段(Stage),阶段之间用队列连接起来,前一个阶段处理的结果放入队列,后一个阶段从队列中获取消息继续处理。   应用需要更灵活的耦合方式,如发布订阅,比如可以指定路由规则。   跨局域网,甚至跨城市的通讯,比如北京机房与广州机房的应用程序的通信

二、ActiveMQ介绍

  是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。   多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP   完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)   对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上   支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA   支持通过JDBC和journal提供高速的消息持久化   从设计上保证了高性能的集群,客户端-服务器,点对点   支持Ajax   支持与Axis的整合   可以很容易的调用内嵌JMS provider,进行测试

三、ActiveMQ安装

1.下载安装文件

ActiveMQ官网: http://activemq.apache.org

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

或者直接通过如下命令在Linux中下载:

代码语言:javascript
复制
wget https://archive.apache.org/dist/activemq/5.12.0/apache-activemq-5.12.0-bin.tar.gz

版本说明 ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。 ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。

下载速度比较慢的可以通过我提供的云盘地址下载: 链接:https://pan.baidu.com/s/1cKHNihVztzAbGttc18oVjw 提取码:e431

2.解压缩

代码语言:javascript
复制
tar -zxvf apache-activemq-5.11.1-bin.tar.gz

并对文件夹重命令

代码语言:javascript
复制
mv apache-activemq-5.11.1 activemq

3.检查权限

ls -al activemq/bin 如果权限不足,则无法执行,需要修改文件权限: chmod 755 activemq

4.启动ActiveMQ服务

代码语言:javascript
复制
./activemq/bin/activemq start

5.测试ActiveMQ

5.1检查进程

ps aux | grep activemq 见到下述内容即代表启动成功

在这里插入图片描述
在这里插入图片描述

5.2登录管理界面

http://ip:8161/admin/ 用户名: admin 密码: admin ActiveMQ使用的是jetty提供HTTP服务.启动稍慢,建议短暂等待再访问测试. 见到如下界面代表服务启动成功

在这里插入图片描述
在这里插入图片描述

5.3修改端口号

修改conf下的jetty.xml文件中的port参数既可,如下:

在这里插入图片描述
在这里插入图片描述

6.重启ActiveMQ

代码语言:javascript
复制
/opt/activemq/bin/activemq restart

7.关闭ActiveMQ

代码语言:javascript
复制
/opt/activemq/bin/activemq stop

四、ActiveMQ术语介绍

术语

说明

Destination

目的地,JMS Provider(消息中间件)负责维护,用于对Message进行管理的对象。MessageProducer需要指定Destination才能发送消息,MessageReceiver需要指定Destination才能接收消息。

Producer

消息生成者,负责发送Message到目的地。

Consumer | Receiver

消息消费者,负责从目的地中消费【处理|监听|订阅】Message

Message

消息,消息封装一次通信的内容。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年02月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、JMS简介
    • 1.什么是消息
      • 2.什么是消息队列
        • 3.常用的消息中间件有哪些
          • 3.1ActiveMQ
          • 3.2RabbitMQ
          • 3.3RocketMQ
        • 4.消息队列的应用场景
        • 二、ActiveMQ介绍
        • 三、ActiveMQ安装
          • 1.下载安装文件
            • 2.解压缩
              • 3.检查权限
                • 4.启动ActiveMQ服务
                  • 5.测试ActiveMQ
                    • 5.1检查进程
                    • 5.2登录管理界面
                    • 5.3修改端口号
                  • 6.重启ActiveMQ
                    • 7.关闭ActiveMQ
                    • 四、ActiveMQ术语介绍
                    相关产品与服务
                    消息队列 CMQ 版
                    消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档