本文的目的是介绍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安装包下载)
- 1.Linux安装ActiveMq
- ActiveMQ In Action 第一章 消息传递和 ActiveMQ 简介 1.1 ActiveM
- ActiveMQ 入门系列一:认识并安装 ActiveMQ(Windows 下)
- ActiveMQ与RocketMQ对比
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)官网下载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
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
度娘给出的定义:
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 | 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安装ActiveMQ和Docker安装包下载的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于1.Linux安装ActiveMq、ActiveMQ In Action 第一章 消息传递和 ActiveMQ 简介 1.1 ActiveM、ActiveMQ 入门系列一:认识并安装 ActiveMQ(Windows 下)、ActiveMQ与RocketMQ对比的相关知识,请在本站寻找。
本文标签: