什么是 Apache ActiveMQ?

这篇具有很好参考价值的文章主要介绍了什么是 Apache ActiveMQ?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是 ActiveMQ?

ActiveMQ 是一种流行的消息传递服务,可促进企业系统中大规模的不同数据。在本 ActiveMQ 教程中,我们概述了 ActiveMQ、它的优点、它的工作原理以及何时应该使用它。
什么是 ActiveMQ?
ActiveMQ 是一种流行的开源消息传递服务,它构建在 Java 之上。它用作面向消息的中间件 ( MoM )。

ActiveMQ 的设计目的是在两个或多个应用程序之间发送消息,就像所有面向消息的中间件一样。
这里推荐一个视频课程:
https://www.bilibili.com/video/BV1f24y1N72X/?vd_source=0ba66e578821564652f75cbe299199c8

ActiveMQ 有什么用?

与任何其他消息代理一样,ActiveMQ 用作多个组件之间的通信桥梁,这些组件可以托管在单独的服务器上或可以用不同的编程语言编写。

像这样的消息代理经常出现在企业系统中——或者任何具有复杂架构的系统中。实施的目标是在该系统的组件之间建立可靠的通信。

一个很好的例子是金融和银行业,其中高可用性系统是必不可少的。速度在这个行业很重要,但比这更重要的是整个系统的可靠性。

尽管我们都希望一切都保持 100% 的正常运行时间,但服务离线的情况仍然很少见。在这种情况下你会怎么做?

如果没有像 ActiveMQ 这样的消息代理,就会出现问题。
将您的消息放入消息队列通常适用于这种情况。消息不会立即传送和处理。相反,它将在服务的另一端重新联机时进行处理。

使用像 ActiveMQ 这样的消息代理,您可以确保您的消息在服务器在线时得到传递。
上面的例子是一个小众案例。但消息传递的整体用例是异步调整流量的能力。可能存在服务仍然在线的情况,但它可能无法像消息生成到系统中那样快速地处理消息。或者如果没有一些填充,它可能无法处理突发事件。

因此,如果您有一个系统——无论何时何地,无论现在还是以后,发送消息都是必须的——那么像 ActiveMQ 这样的消息代理就是您所需要的。

什么是 Apache ActiveMQ 代理?

Apache ActiveMQ 代理是 Java 消息服务或 JMS 的实现。JMS 是一种 Java 规范,它允许应用程序以简单和标准的方式在彼此之间来回发送数据。

在像 ActiveMQ 这样的消息传递系统出现之前,很难(如果不是不可能的话)“联合”应用程序:

  • 是用不同的语言写成的。
  • 驻留在异构平台上。
  • 使用不同的数据结构和协议。
    Java 的早期目标是提供一种具有 C 的强大功能且不受其跨平台问题阻碍的语言。JMS 的出现源于对将非常不同的系统彼此联合的日益增长的需求。

在 ActiveMQ 之前,这意味着针对本机工具和库构建源代码。替代方案是在单独的操作系统上直接移植或重写应用程序。

JMS 和 ActiveMQ 有什么区别?

ActiveMQ 是一个 JMS 提供者。JMS 提供程序形成了软件框架,以促进在应用程序中使用 JMS 概念。允许客户端连接到它并使用这些消息传递概念的 ActiveMQ 单个节点称为“ActiveMQ Broker”。

因此,ActiveMQ 是一个实现 JMS 的消息代理。使用 ActiveMQ 对许多企业都很重要——尤其是企业。

企业通过并购等商业行为感受到这种差异。这就需要维护越来越多样化的业务应用程序集合。随着企业的发展,允许所有这些平台共享数据的需求也在增长。当今存在许多有助于解决此问题的体系结构模式。

其他 JMS 供应商

JMS 提供程序的其他一些示例是:

大黄蜂Q
兔MQ
索尼克MQ
Windows Azure 消息传递
Apache 代理
ActiveMQ 只是您堆栈的一部分
ActiveMQ 只是您的开源堆栈的一部分。您可能正在利用其他技术。您还可以从更多开源技术中受益。构建您的组织理想的开源堆栈。使用 OpenLogic Stack Builder 从我们的堆栈专家那里获取自定义报告。

堆栈生成器

ActiveMQ 架构概述
ActiveMQ 的结构由称为消息、队列和主题的数据模式组成。

消息就像它们听起来的那样,是可以在不同系统之间传输的数据有效负载。这些有效载荷可以具有与之关联的标头和属性,这些标头和属性可以:

对它们进行分类
控制路由的各个部分
促进在连接的应用程序网络中移动有效载荷
这是一个基本的 JMS 结构,例如 ActiveMQ:

activemq 是如何工作的
负载本身可以是纯 Java 实现中的任何 Java 对象。但它通常是某种形式的短信。请注意,文本也可以是标记格式,例如 XML 或 JSON。消息传递系统的目的是以标准方式在异构系统之间移动这些有效负载。

ActiveMQ 作为企业级消息传递解决方案
企业级消息传递解决方案可以做到这一点,同时还保持数据完整性,保证没有数据丢失,同时考虑到高可用性、安全性、可恢复性和其他常见的企业问题。

我们网络中的应用程序本身被认为是端点。它们有两类。用于读取或接收消息的入站端点称为消费者,用于将数据发送到消息系统的出站端点称为生产者。

这是以编程方式处理的。端点是在与消息系统交互的程序的上下文中定义的。

ActiveMQ 消息如何工作

一旦消息进入系统,它们就会被安排成两种模式:队列和主题。队列是代理和客户端生成和使用的消息的FIFO(先进先出)管道。生产者创建消息并将它们推送到这些队列中。然后消费者应用程序轮询和收集这些消息,一次一条消息。

主题是基于订阅的消息广播频道。当生产应用程序发送消息时,“订阅”该主题的多个接收者会收到消息的广播。在主题消息传递的上下文中,这个生产应用程序有时被称为“发布者”,

所有这些组件都只是 JMS 规范的一部分,但并不是任何一个特定的软件。为了在现实生活中实现该规范,我们可以创建 JMS 规范的特定于供应商的实现,称为 JMS 提供程序。

总而言之,队列和主题之间的主要区别是:

主题实现发布和订阅工作流。
队列实现负载平衡工作流。
ActiveMQ 队列和主题之间差异的图示。

ActiveMQ 关键函数

除了 JMS 之外,ActiveMQ 还提供了额外的功能,例如:

Java 的本机 ActiveMQ 连接工厂对象。
强大的可观察性功能及其详细的 JMX 指标和统计引擎。
通过 Jolokia 和 HawtIO 扩展仪表板。
JAAS 安全性。
多种连接协议。
本机 HA 和 DR 功能。
水平和垂直刻度的内置功能。
Apache ActiveMQ 5 与 Apache ActiveMQ 6
Apache ActiveMQ 5 实现了 JMS 1.1 规范。ActiveMQ 6 (Artemis) 将实施 JMS 2.0。

除了上述 JMS 概念之外,ActiveMQ 还提供持久性。这允许在代理崩溃时“重播”消息。除此之外,持久性允许主题订阅者在与代理的连接中断时接收广播消息。

你应该使用 ActiveMQ 吗?

ActiveMQ 是一个成熟且被广泛采用的平台。1,000 家公司使用它。它是迄今为止最灵活的 OSS 消息代理。

似乎这还不够,它还与Apache Camel一起发布,并与 Apache Camel 产品共享开发人员和提交者。这使它在设计复杂的消息传递模式方面具有极高的复杂性。

ActiveMQ 是理想的消息传递解决方案
Apache ActiveMQ 在宽松的 Apache 2.0 ASF 许可下是免费和开源的。它得到了一个多产且响应迅速的开发人员社区的支持,并且是由现在无处不在的企业集成模式 (EIP) 架构的一些早期创建者设想的。

将这些模式与 JMS 放在一起可以很容易地理解ActiveMQ 的工作原理。您可以在 ActiveMQ 中使用多种连接协议,允许它们在使用不同语言(如 Java、C++、.NET、PHP 等)编码的应用程序之间提供高度规范化的连接点。

这使得 ActiveMQ 成为企业理想的免费消息传递解决方案。用户通常从 WebSphereMQ、Oracle AQ、TIBCO EMS 和/或 MSMQ 等商业中间件迁移到 ActiveMQ。

ActiveMQ 数据规模

ActiveMQ 可以针对大型数据集进行大规模调整,例如 CERN 大型强子对撞机生成的数据集。ActiveMQ 可以针对多种流量和实施模型进行配置,并具有强大的统计和指标引擎,可公开有关代理健康状况以及消息流量和客户端状态的数量和大小的重要详细信息。这些指标可以被流行的监控框架使用,使 ActiveMQ 成为一个高度可观察的解决方案。

充分利用 ActiveMQ

虽然 Apache ActiveMQ 不是唯一可用的免费消息传递解决方案,但它在平衡其多功能性和企业就绪性方面脱颖而出。您可以快速采用 ActiveMQ。任何熟悉 JMS 的人都可以访问它。ActiveMQ 多产的社区将确保产品的持续生存能力。ActiveMQ 6 承诺将这种用途扩展到下一代企业消息传递解决方案中。

获得 ActiveMQ 的技术支持和指导

想要开始使用 Apache ActiveMQ?立即联系专家,了解我们如何帮助您充分利用 ActiveMQ,包括ActiveMQ 支持。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布文章来源地址https://www.toymoban.com/news/detail-468598.html

到了这里,关于什么是 Apache ActiveMQ?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apache ActiveMQ 远程代码执行漏洞分析

    Apache ActiveMQ官方发布新版本,修复了一个远程代码执行漏洞(CNVD-2023-69477  CVE-2023-46604),攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行,从而完全控制Apache ActiveMQ服务器。 影响版本 ‍ 环境搭建 没有找到合适的 docker 镜像 ,尝试自己进行

    2024年02月03日
    浏览(39)
  • Apache ActiveMQ jolokia 远程代码执行漏洞

    Apache ActiveMQ是一个开源的消息代理和集成模式服务应用,用于实现消息中间件,帮助不同的应用程序或系统之间进行通信。 2023年11月,Apache官方发布新版本修复了ActiveMQ中的一个远程代码执行漏洞(CVE-2022-41678),通过认证的攻击者能够利用该漏洞获取服务器权限。 该漏洞存

    2024年02月04日
    浏览(43)
  • 消息中间件ActiveMQ介绍

    一、消息中间件的介绍   介绍 ​ 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成。   特点(作用) 应用解耦 异步通信 流量削峰 (海量)日志处理 消息通讯 …... 应用场景 根据消息队列的特点,可以衍生出

    2024年02月15日
    浏览(47)
  • ActiveMQ消息中间件简介

    一、ActiveMQ简介   ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provide实现。尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中仍然扮演这特殊的地位。   二、ActiveMQ应用场景 消息队列在大型电子商务类网

    2024年02月07日
    浏览(90)
  • Apache ActiveMQ RCE漏洞复现(CNVD-2023-69477)

      ActiveMQ是一个开源的消息代理和集成模式服务器,它支持Java消息服务(JMS) API。它是Apache Software Foundation下的一个项目,用于实现消息中间件,帮助不同的应用程序或系统之间进行通信。  Apache ActiveMQ 中存在远程代码执行漏洞,Apache ActiveMQ在默认安装下开放了61616服务端口,

    2024年02月08日
    浏览(81)
  • apache-activemq-5.17.1一键安装安装

    双击InstallService.bat脚本  

    2024年02月09日
    浏览(29)
  • ActiveMQ消息中间件应用场景

    一、ActiveMQ简介   ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provide实现。尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中仍然扮演这特殊的地位。   二、ActiveMQ应用场景 消息队列在大型电子商务类网

    2024年02月15日
    浏览(39)
  • 探索Apache ActiveMQ RCE:一个强大的安全研究工具

    项目地址:https://gitcode.com/sincere9/Apache-ActiveMQ-RCE 在这个数字化的时代,消息中间件是构建高效、可扩展系统的关键组件。Apache ActiveMQ作为一款开源的消息代理,广泛应用于企业级应用中。然而,与所有软件一样,它也可能存在安全隐患。这就是为什么 Apache ActiveMQ RCE (远程代码

    2024年04月16日
    浏览(47)
  • ActiveMQ使用JDBC持久化消息

    为了避免服务器宕机而导致消息丢失,ActiveMQ提供消息持久化机制。 ActiveMQ提供多种消息持久化的方式,如LevelDB Store、KahaDB 、AMQ、JDBC等,详情可以访问官网。 ActiveMQ默认是使用KahaDB持久化消息。在/conf/activemq.xml如下配置: KahaDB是一个文件型数据库,是以日志形式保存到文件

    2024年02月11日
    浏览(34)
  • 3000 台 Apache ActiveMQ 服务器易受 RCE 攻击

    超过三千个暴露在互联网上的 Apache ActiveMQ 服务器容易受到最近披露的关键远程代码执行 (RCE) 漏洞的影响。 Apache ActiveMQ 是一个可扩展的开源消息代理,可促进客户端和服务器之间的通信,支持 Java 和各种跨语言客户端以及许多协议,包括 AMQP、MQTT、OpenWire 和 STOMP。 由于该项

    2024年02月19日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包