Apache ActiveMQ Artemis简介

Posted 咖啡壶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache ActiveMQ Artemis简介相关的知识,希望对你有一定的参考价值。

Apache ActiveMQ Artemis简介

什么是 Apache ActiveMQ Artemis

  • Apache ActiveMQ Artemis 是一个开源项目,旨在构建一个多协议、可嵌入、高性能、集群化、异步消息传递系统。
  • Apache ActiveMQ Artemis是一个异步消息系统,是 面向消息的中间件的一个例子,

为什么使用 Apache ActiveMQ Artemis

  • 100% 开源软件。Apache ActiveMQ Artemis 使用 Apache Software License v 2.0
    获得许可,以最大限度地减少采用障碍。
  • 用 Java 编写。可在任何具有 Java 11+ 运行时的平台上运行,从 Windows 桌面到 IBM 大型机,应有尽有。
  • 惊人的表现。我们开创性的高性能日志以通常用于非持久消息传递的速率提供持久消息传递性能,我们的非持久消息传递性能也令人震惊。
  • 完整的功能集。您在任何严肃的消息传递系统中所期望的所有功能,以及您在其他任何地方都找不到的其他功能。
  • 优雅、简洁的设计,第三方依赖最少。独立运行 ActiveMQ Artemis,在您最喜欢的 Java EE应用程序服务器中集成运行,或在您自己的产品中嵌入运行。由你决定。
  • 无缝的高可用性。我们提供具有自动客户端故障转移的 HA 解决方案,因此您可以保证在服务器发生故障时零消息丢失或重复。
  • 非常灵活的集群。创建知道如何负载平衡消息的服务器集群。通过不可靠的连接将地理上分布的集群链接起来,形成一个全球网络。以高度灵活的方式配置消息路由。

消息传递

  • 与基于远程过程调用(RPC)
    模式的系统不同,消息系统主要使用异步消息传递模式,请求和响应之间没有紧密的关系。大多数消息传递系统还支持请求-响应模式,但这不是消息传递系统的主要特性。
  • 将系统设计为端到端异步可以让您真正利用硬件资源,最大限度地减少阻塞 IO 操作的线程数量,并充分利用网络带宽。使用 RPC
    方法,您必须等待您发出的每个请求的响应,因此受到网络往返时间或网络延迟的限制。使用异步系统,您可以将消息流传输到不同方向,因此受到网络带宽而不是延迟的限制。这通常允许您创建性能更高的应用程序。
  • 消息系统将消息的发送者与消息的消费者分离。消息的发送者和消费者是完全独立的,彼此一无所知。这允许您创建灵活、松散耦合的系统。
  • 通常,大型企业使用消息传递系统来实现将异构系统松散耦合在一起的消息总线。消息总线通常构成企业服务总线的核心。(ESB)。使用消息总线来解耦不同的系统可以使系统更容易增长和适应。它还允许更灵活地添加新系统或淘汰旧系统,因为它们之间没有脆弱的依赖关系。

安装

安装目录

  • bin- 运行 ActiveMQ Artemis 所需的二进制文件和脚本。
  • examples- 各种例子。
  • lib- 运行 ActiveMQ Artemis 所需的 jar 和库
  • schema- 用于验证 ActiveMQ Artemis 配置文件的 XML 模式
  • web- 代理运行时加载 Web 上下文的文件夹。
  • api- api 文档放在 web 文件夹下。
  • user-manual- 用户手册位于 web 文件夹下。

创建自己的代理实例

使用linux命令:

cd /var/lib  //选择一个目录
artemis create mybroker // 创建自己的代理实例

代理实例目录将包含以下子目录:

  • bin: 保存与此实例关联的执行脚本。
  • data:保存用于存储持久消息的数据文件
  • etc:保存实例配置文件
  • lib: 保存任何自定义运行时 Java 依赖项,如转换器、插件、拦截器等。
  • log: 保存旋转日志文件
  • tmp: 保存在代理运行之间可以安全删除的临时文件

启动代理实例

artemis run
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Apache ActiveMQ Artemis简介的主要内容,如果未能解决你的问题,请参考以下文章

Centos 下activemq 升级到apache-artemis

Artemis安装

activemq artemis关于 Apache.NMS.AMQP 使用注意事项。

Apache ActiveMQ Artemis 客户端能否连接到现有的 ActiveMQ 代理 5.15.X?

带有独立 ActiveMQ 的 Wildfly 上的 ActiveMQ Artemis

如何在 ActiveMQ Artemis 中调度消息