ActiveMQ

2天前发布 2 00

开源的、符合 ​JMS (Java Message Service) 1.1 标准的消息中间件

所在地:
美国
收录时间:
2025-04-01
ActiveMQActiveMQ

Apache ActiveMQ 简介

Apache ActiveMQ 是一个完全开源的、符合 JMS (Java Message Service) 1.1 标准的消息中间件,由 Apache 软件基金会开发和维护。作为企业级消息代理的经典解决方案,ActiveMQ 支持多种协议(如 AMQP、STOMP、MQTT 等)和跨语言客户端,广泛应用于异步通信、系统解耦和事件驱动架构中。其核心优势在于 高可靠性、事务支持和灵活的集群部署,适合传统企业应用和现代微服务架构。


核心特性

  1. 多协议支持
    • 原生支持 OpenWire(高性能二进制协议)、STOMP、MQTT、AMQP
    • 可通过 NIO 提升高并发场景下的性能
  2. 消息持久化
    • 提供 KahaDB(默认)、JDBC(MySQL/Oracle)、LevelDB 等持久化方案
    • 支持消息优先级和延迟投递
  3. 高可用架构
    • Master-Slave 主从切换(基于共享存储或 ZooKeeper)
    • Network of Brokers 跨节点消息路由
  4. 企业级功能
    • JMS 1.1/2.0 完整实现
    • 支持 XA 事务(与 JTA 集成)
    • 消息分组(Message Groups)和独占消费者
  5. 监控与管理
    • 内置 Web Console(端口 8161)
    • 支持 JMX 监控和 CLI 管理工具

核心概念

术语说明
Broker消息代理服务器,负责接收、存储和转发消息
Destination消息目的地(Queue 或 Topic)
Producer消息生产者,向 Destination 发送消息
Consumer消息消费者,从 Destination 接收消息
ConnectionFactory创建 JMS 连接的工厂类(如 ActiveMQConnectionFactory
Session单线程上下文,用于创建 Producer/Consumer 和事务控制

典型应用场景

  1. 金融交易系统
    • 保证跨行转账等操作的事务一致性(XA)
    • 实时风控消息分发
  2. 物流跟踪
    • 订单状态变更的全局事件通知(Topic 广播)
  3. 传统企业集成
    • 连接遗留系统(如 SAP)与现代微服务
  4. 物联网(IoT)
    • 通过 MQTT 协议接入海量设备数据
  5. 异步任务队列
    • 耗时操作(如报表生成)异步化处理

快速入门示例

1. 启动 ActiveMQ

# 下载并解压
wget https://archive.apache.org/dist/activemq/5.18.3/apache-activemq-5.18.3-bin.tar.gz
tar -xzf apache-activemq-5.18.3-bin.tar.gz
cd apache-activemq-5.18.3/bin
./activemq start  # 访问 http://localhost:8161/admin

2. Java 生产者代码

ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("TEST.QUEUE");
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage("Hello ActiveMQ");
producer.send(message);
connection.close();

3. Spring Boot 集成

# application.yml
spring:
  activemq:
    broker-url: tcp://localhost:61616
    user: admin
    password: admin

性能优化建议

  1. 持久化配置
    • 生产环境使用 JDBC + 高性能数据库(如 PostgreSQL)
    • 调整 KahaDB 的 indexCacheSize 提升读取速度
  2. 网络调优
    • 启用 NIO 传输协议(tcp://0.0.0.0:61616?transport.useNio=true
    • 设置合理的 wireFormat.maxFrameSize
  3. 资源控制
    • 限制内存使用(<systemUsage> 标签配置)
    • 为重要队列设置独占消费者
  4. 监控指标
    • 关注 PendingMessageCount 防止消息堆积
    • 监控 EnqueueCount/DequeueCount 统计吞吐量

 

数据评估

ActiveMQ浏览人数已经达到2,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:ActiveMQ的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找ActiveMQ的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于ActiveMQ特别声明

本站速览导航提供的ActiveMQ都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由速览导航实际控制,在2025年4月1日 下午8:35收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,速览导航不承担任何责任。

相关导航