GVKun编程网logo

Docker安装ActiveMQ(Docker安装包下载)

20

本文的目的是介绍Docker安装ActiveMQ的详细情况,特别关注Docker安装包下载的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解Docker安装Active

本文的目的是介绍Docker安装ActiveMQ的详细情况,特别关注Docker安装包下载的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解Docker安装ActiveMQ的机会,同时也不会遗漏关于1.Linux安装ActiveMq、ActiveMQ In Action 第一章 消息传递和 ActiveMQ 简介 1.1 ActiveM、ActiveMQ 入门系列一:认识并安装 ActiveMQ(Windows 下)、ActiveMQ与RocketMQ对比的知识。

本文目录一览:

Docker安装ActiveMQ(Docker安装包下载)

Docker安装ActiveMQ(Docker安装包下载)

ActiveMQ简介

官网地址:https://activemq.apache.org/

简介:

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

特点:

  • 支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议

  • 完全支持JMS客户端和Message Broker中的企业集成模式

  • 支持许多高级功能,如消息组,虚拟目标,通配符和复合目标

  • 完全支持JMS 1.1和J2EE 1.4,支持瞬态,持久,事务和XA消息

  • Spring支持,以便ActiveMQ可以轻松嵌入到Spring应用程序中,并使用Spring的XML配置机制进行配置

  • 专为高性能集群,客户端 - 服务器,基于对等的通信而设计

  • CXF和Axis支持,以便ActiveMQ可以轻松地放入这些Web服务堆栈中以提供可靠的消息传递

  • 可以用作内存JMS提供程序,非常适合单元测试JMS

  • 支持可插拔传输协议,例如in-VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输

  • 使用JDBC和高性能日志支持非常快速的持久性

Docker安装ActiveMQ

#下载镜像
docker pull webcenter/activemq

docker run --name my-activemq -d \
-p 8161:8161 \
-p 61616:61616 \
-p 61613:61613 \
webcenter/activemq

webcenter/activemq镜像启动没成功

#使用下面这个镜像成功
docker pull rmohr/activemq

docker run --name my-activemq -d \
-p 61616:61616 \
-p 8161:8161 rmohr/activemq

访问 http://192.168.1.5:8161/admin(用户名和密码默认为admin),则启动成功。

在这里插入图片描述

1.Linux安装ActiveMq

1.Linux安装ActiveMq

1)官网下载activeMq的Linux安装包
2)上传到/opt下
3)直接解压
4)移动到/usr/local下,即/usr/local/apache-activemq-5.15.13
5)普通启动,进入/usr/local/apache-activemq-5.15.13/bin目录下,执行
./activemq start 启动activeMq
./activemq stop 停止activeMq
6)验证启动成功 ps -ef |grep activemq
7)带日志启动activeMq
./activemq start > /home/activeMq/run_activeMq.log
8)客户端访问8161端口:
http://192.168.0.106:8161/admin/ admin/admin
9)JMS服务端口默认 61616

ActiveMQ In Action 第一章 消息传递和 ActiveMQ 简介 1.1 ActiveM

ActiveMQ In Action 第一章 消息传递和 ActiveMQ 简介 1.1 ActiveM

1.1 ActiveMQ 特性

通过数百人经年的努力,ActiveMQ 拥有十分丰富的特性。本书将 ActiveMQ 分解成数个特性集合进行着重描述。下面是将在本书中讨论的特性列表的俯瞰视野:

■JMS 规范 —— 是理解 ActiveMQ 特性很好的一个起点,因为 ActiveMQ 正是 JMS 1.1 规范的一个实现。正如本章后面的讨论内容,JMS 规范为用户提供了重要的益处和保障,包括同步或异步消息传递,一次且仅一次消息传递,消息持久性等 等。遵循 JMS 规范的好处是能够保证在任何情况下使用 JMS 时基本功能集都不会失效。

■连通性 ——ActiveMQ 提供了一个多样的连通性 选项,包括支持如 HTTP/S,IP 广播、SSL、STOMP、TCP、UDP,XMPP 等等的协议。支持如此多样的协议意味着更多的灵活性。既存的许多 系统使用一个无法配置的特定协议,因此一个支持多协议的消息传递平台,降低了这些系统的使用门槛。除连通性之外,与其他容器紧密集成的能力也很重要。第四 章介绍了 ActiveMQ 的传输连接器和网络连接器。

■可插拔的持久化和安全性 ——ActiveMQ 提供了多种风格的持久化,你可以在他们 中间做选择。ActiveMQ 的安全性体现在可以根据用户的需求,量身定制的身份验证和授权类型。例如,ActiveMQ 提供拥有自己风格的超高速消息持 久化(通过 KahaDB), 也支持可用标准 JDBC 访问的数据库。ActiveMQ 通过配置文件可以实现它本身的简单风格的身份验证和授权,除此之外还支 持标准 JAAS 登录模块。在章节 5 和 6 中我们将讨论这两个主题。

■用 Java 构建消息传递应用程序 ——ActiveMQ 最常见的用法是与 Java 应用程序合作来发送和接收消息。完成这个任务需要 ActiveMQ 和 JMS API 的齐心协力。第 7 章将讲述这个问题。

■与应用程序服务器集成 —— 一般 ActiveMQ 会与 Java 应用程序服务器集成。第八章将介绍相关的例子,包括 Apache Tomcat、Jetty、Apache Geronimo 和 JBoss。

■ 客户端 API—— 除了 Java 之外,ActiveMQ 还提供了许多其他语言的客户端 API, 包括 C/C++、.NET、Perl、PHP、Python、 Ruby 等等。这将提供 ActiveMQ 在 Java 领域之外的使用机会。许多其他语言也可以获得 ActiveMQ 的所有特性和好处,通过他们各自不同的客 户机 API。当然,ActiveMQ 代理仍运行在 Java 虚拟机上,但客户端可以使用任何受支持的语言编写。关于客户端连接到 ActiveMQ 将在第九章 中介绍。

■代理集群 —— 为了实现可扩展性,许多 ActiveMQ 代理可以共同协作形成一个代理的联合网络。这就是所谓的网络代理,可以支持很多不同的拓扑结构。这是第十章的话题。

■众多的高级代理功能和客户端选项 ——ActiveMQ 为代理和连接到代理的客户端提供了丰富的功能。通过设置代理的 XML 配置文件,ActiveMQ 还可以支持使用 Apache Camel。这些特性将在十一和十二章进行讨论。

■ 管理的简化 —— 由于 ActiveMQ 的使用对象是开发人员。所以它不需要专门的管理员。它亦提供了易于使用的强大的管理功能。有很多方法可以监视 ActiveMQ 的方方面面,包括通过 JMX 使用工具,如 JConsole 或 ActiveMQ 网络控制台,通过处理 ActiveMQ 报告信息,通过使用命令行脚本,甚至通过监测各种类型的日志记录。这都是第 14 章的内容。

我们浅尝了 一下 ActiveMQ 提供的功能特性。正如你所看到的,这本书的剩余章节将介绍这些话题。出于演示目的,将在第 3 章讲解几个简单的例子。但在我们看例子之 前,鉴于你已经了解了 ActiveMQ 很多不同的特性这一事实,我们需要确认一些问题关于你为什么需要使用 ActiveMQ。

ActiveMQ 入门系列一:认识并安装 ActiveMQ(Windows 下)

ActiveMQ 入门系列一:认识并安装 ActiveMQ(Windows 下)

 

一、什么是 ActiveMQ

度娘给出的定义:

Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

ActiveMQ 的官网打出的标语(如上图):

Flexible & Powerful Open Source Multi-Protocol Messaging

大意是:兼容性好并且功能强大的开源多协议消息中间件,那具体是怎么体现的呢?
1. 兼容性好:
ActiveMQ 可以很容易内嵌到使用 Spring 的系统里面去,
通过了常见 J2EE 服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic) 的测试,其中通过 JCA 1.5 resource adaptors 的配置,可以让 ActiveMQ 可以自动的部署到任何兼容 J2EE 1.4 商业服务器上
2. 功能强大:
支持通过 JDBC 和 journal 提供高速的消息持久化,
支持客户端 - 服务器,点对点
支持 Ajax
支持与 Axis 的整合,WebServices
可以很容易的调用内嵌 JMS provider 进行测试
从设计上保证了高性能的集群

3. 多协议:
应用协议有 OpenWire,Stomp REST,WS Notification,XMPP,AMQP,
还支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
总之一句话,ActiveMQ 是一个消息中间件并且很好很强大,需要用到消息中间件的时候我们选他就对了。

二、ActiveMQ 的名词解释

在 JMS 规范中,所有的标准定义都在 javax.jms 包中,它的功能实现和我们即将要写的代码中都会用到下面的内容:

1.Destination(目的地)
用于对 Message 进行管理的对象,由 ActiveMQ 负责维护。
MessageProducer 需要指定 Destination 才能发送消息,MessageConsumer 需要指定 Destination 才能接收消息。
2.Producer(消息生产者)
负责生成消息并发送目的地。应用接口为 MessageProducer。
3.Consumer(消息消费者)
负责从目的地中消费【处理 | 监听 | 订阅】Message。应用接口为 MessageConsumer
4.Message(消息)
消息封装一次通信的内容。常见类型有:StreamMessage、BytesMessage、TextMessage、ObjectMessage、MapMessage。
5.ConnectionFactory(连接工厂)
用于创建连接的工厂类型
6.Connection(连接)
用于建立访问 ActiveMQ 连接的类型,由链接工厂创建。
7.Session(会话)
一次持久有效有状态的访问。由 connection 创建,是具体操作消息的基础支撑。
8.Queue & Topic
Queue 是队列目的地,Topic 是主题目的地。都是 Destination 的子接口。
Queue 特点: 队列中的消息,默认只能由唯一的一个消费者处理。一旦处理,消息删除。
Topic 特点:主题中的消息,会发送给所有的消费者同时处理。只有在消息可以重复处理的业务场景中可使用。
9.PTP(Point to Point,点对点消息模型)
就是基于 Queue 实现的消息处理方式。
10.PUB & SUB(Publish & Subscribe ,消息的发布 / 订阅模型)
是基于 Topic 实现的消息处理方式。

三、Windows 下安装 ActiveMQ

到官网上下载即可:

下载后直接解压缩直接就能用(免安装)。

它的目录结构:

bin / 是服务启动相关的命令文件所在目录

data / 是默认持久化文件所在目录

docs / 里面放的是用户手册

conf / 是配置文件所在目录,任何配置文件修改后,必须重启 ActiveMQ, 才能生效.
有几个配置文件需要提下,后面会用到:
1.activemq.xml
就是 spring 配置文件。配置的是 ActiveMQ 应用使用的默认对象组件.
transportConnectors 标签 - 配置链接端口信息的。其中的端口号 61616 是 ActiveMQ 对外发布的 tcp 协议访问端口。就是 java 代码访问 ActiveMQ 时使用的端口.

配置安全认证和持久化都是在这个文件里面。

2.jetty.xml
spring 配置文件,ActiveMQ 使用的是 jetty 提供 HTTP 服务,因此需要该文件用于配置 jetty 服务器的默认对象组件.

3.users.properties
内容信息:用户名 = 密码

是用于配置客户端通过协议访问 ActiveMQ 时,使用的用户名和密码.

4.groups.properties

内容信息: 用户组 = 用户 1, 用户 2(多个用户中间用逗号隔开)

类似于角色的概念,也类似于操作系统用户所在的用户组

四、启动服务,并到页面控制台查看
双击 bin\win64 目录下的 activemq 批处理文件,即可启动(如果系统是 32 位的,就启动 bin\win32 目录下的)。

启动完成后,可以进入页面控制台查看。

同 RabbitMQ 类似,ActiveMQ 也默认支持一个网页版的服务查看站点,可以实现 ActiveMQ 中消息相关数据的页面查看.
ActiveMQ 网页版管理站点的默认端口 8161 端口就配置在 jetty.xml 文件中。

访问 http://localhost:8161/admin/, 输入默认的用户名和密码 admin/admin,即可看到管理台页面。

可以看到在前面名词解释中提到的内容

 

 

至此,ActiveMQ 就安装完了。

原文出处:https://www.cnblogs.com/sam-uncle/p/10979049.html

ActiveMQ与RocketMQ对比

ActiveMQ与RocketMQ对比

  ActiveMQ RabbitMQ RocketMq ZeroMQ
关注度  
成熟度   成熟 成熟 比较成熟 不成熟
所属社区/公司 Apache  Mozilla
Public
License
Alibaba    
社区活跃度  
文档  
特点   功能齐全,被大量开源项目使用 由于Erlang 语言的并发能力,性能很好    各个环节分布式扩展设计,主从 HA;支持上万个队列;多种消费模式;性能很好 低延时,高性能,最高 43万条消息每秒  
授权方式   开源 开源 开源 开源
开发语言   Java Erlang   Java   C
支持的协议   OpenWire、
STOMP、
REST、XMPP、
AMQP
AMQP   自己定义的一
套(社区提供
JMS--不成熟)
TCP、UDP
客户端支持语言   Java、C、
C++、
Python、
PHP、
Perl、.net 等  
Java、C、
C++、
Python、 PHP、Perl 等
Java  
C++(不成熟)  
 
python、 java、 php、.net 等
持久化   内存、文件、数据库 内存、文件 磁盘文件 在消息发送端保存
事务   支持 不支持 支持 不支持
集群   支持 支持 支持 不支持
负载均衡 支持 支持 支持 不支持
管理界面   一般 无社区有 web
console   实现
部署方式   独立、嵌入 独立 独立 独立
评价   优点:
   成熟的产品,已经在很多公司得到应用(非大规模场景)。有较多的文档。各种协议支持较好,有多重语言的成熟的客户端;
缺点:
根据其他用户反馈,会出莫名其妙的问题,切会丢失消息。 其重心放到activemq6.0 产品—apollo 上去了,目前社区不活跃,且对 5.x 维护较少;
Activemq 不适合用于上千个队列的应用场景
优点:   由于erlang语言的特性,mq 性能较好;管理界面较丰富,在互联网公司也有较大规模的应用;支持amqp系诶,有多中语言且支持 amqp 的客户端可用
 
缺点:
  erlang语言难度较
大。集群不支持动态扩展。
优点:
   模型简单,接口易用(JMS   的接口很多场合并不太实用)。在阿里大规模应用。目前支付宝中的余额宝等新兴产
品均使用rocketmq。集群规模大概在50 台左右,单日处理消息上百亿;性能非常好,可以大量堆
积消息在broker   中;支持多种消费,包括集群消费、广播消费等。开发度较活跃,版本更新很快。
 缺点:
  没有在 mq 核心中去实现JMS 等接口,
 

关于Docker安装ActiveMQDocker安装包下载的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于1.Linux安装ActiveMq、ActiveMQ In Action 第一章 消息传递和 ActiveMQ 简介 1.1 ActiveM、ActiveMQ 入门系列一:认识并安装 ActiveMQ(Windows 下)、ActiveMQ与RocketMQ对比的相关知识,请在本站寻找。

本文标签: