Apache ActiveMQ 是一个用 Java 编写的开源消息代理。它支持多种跨语言客户端和协议。
Apache ActiveMQ 消息代理是一个快速、可靠、可扩展且完全集成的开源消息传递平台,用于处理大量消息(摄取)或大量消费者(分发)。它使用内存作为存储格式;如有必要,可以将其配置为将数据持久存储在磁盘上。由于 ActiveMQ 会将所有历史信息加载到内存中,因此初始启动时间可能会很慢。但是,在第一次启动期间(可能需要几分钟时间,具体取决于您在队列中存储的历史记录和其他配置设置的数量)之后,性能开始很好地扩展,直到我们考虑其他因素(例如系统资源)为止。
基于它的起源是从内部消息解决方案转向商业产品的经历,ActiveMQ 可以被认为是不断开发和改进的产品之一,提供极高的质量和坚实的稳定性。
ActiveMQ 提供了一个简单的嵌入式代理和一个完全部署的、高度可用的企业解决方案。它最重要的特性和优势是高可用性和故障转移(只有一个代理的设置可以承受高达 99.999% 的消息丢失),支持多种连接客户端的方式(包括 Web 控制台、命令行工具和库、JMS 客户端)库等),跨物理边界的集群,通过每个主题的多个内部队列进行负载平衡,根据需要灵活配置持久或非持久消息,通过文件或数据库持久化数据,基于JAAS身份验证的安全实现该模型还支持 LDAP 实现。
ActiveMQ 确实是 Java 开发人员、基础设施架构师和系统集成商的首选消息传递解决方案。它可用于小型部署(在这种情况下您可能会使用嵌入式代理)或大型企业解决方案(需要集群和故障转移)。
根据您的需求,ActiveMQ 可以轻松扩展到真正的高可用性场景,在所有代理之间实现完全负载平衡,包括在现有节点出现故障时动态添加新节点;具有自动重新同步和潜在数据丢失(这总是可能的)的状态故障转移,由 ActiveMQ 本身完全支持:只需将另外两个节点配置到集群中即可实现高可用性。
Apache ActiveMQ 是跨平台的,并在 Java 虚拟机 (JVM) 中运行。您可以在 Linux、Windows 或 OS X 上使用 ActiveMQ。
在本指南中,我们将引导您在 Ubuntu 20.04 LTS 上完成 Apache ActiveMQ 的基本安装和设置,以及运行基本配置和验证测试。
让我们开始吧!
先决条件为了配合我们的指南,您将需要:
用于运行 ActiveMQ 的 Ubuntu Linux 机器。这可以是物理服务器或虚拟机;重要的是它可以运行 JVM,并且至少有 2GB RAM 和 20GB 磁盘空间。您应该根据需要分配