应用介绍
系统拆成几个服务之后,最头疼的是它们之间怎么可靠地传消息:对方宕机了消息不能丢,流量一来不能把下游压垮,还得兼顾用不同语言写的客户端。Apache ActiveMQ 就是专门干这个的消息代理,放在中间收发排队,生产者和消费者彼此不用等。
它最拿得出手的是多协议:Java 服务走 JMS,其他语言用 AMQP,网页端用 STOMP 跑在 WebSocket 上,物联网设备接 MQTT,还有 OpenWire,同一个 broker 全能接。JavaScript、C、C++、Python、.Net 都有现成的客户端,不用为了换语言重新选型。
JMS 支持:完整支持 JMS 1.1 和 JMS 2.0 的大部分内容,部分支持 Jakarta Messaging 3.1,客户端含 JNDI。
持久化:消息可以存进 KahaDB,也可以走 JDBC 落到数据库里,重启不丢。
高可用:用共享存储做主备切换,一台挂了另一台接着干。
Broker 网络:多个 broker 组成网络分摊负载,消息量大了就横向加节点。
Web 控制台:内置在二进制发行包里,启动后打开 localhost:8161/admin 就能看队列和主题。
协议覆盖:AMQP、STOMP、MQTT、OpenWire 全部支持,开源,Apache 2.0 许可。
它最拿得出手的是多协议:Java 服务走 JMS,其他语言用 AMQP,网页端用 STOMP 跑在 WebSocket 上,物联网设备接 MQTT,还有 OpenWire,同一个 broker 全能接。JavaScript、C、C++、Python、.Net 都有现成的客户端,不用为了换语言重新选型。
软件功能
JMS 支持:完整支持 JMS 1.1 和 JMS 2.0 的大部分内容,部分支持 Jakarta Messaging 3.1,客户端含 JNDI。
持久化:消息可以存进 KahaDB,也可以走 JDBC 落到数据库里,重启不丢。
高可用:用共享存储做主备切换,一台挂了另一台接着干。
Broker 网络:多个 broker 组成网络分摊负载,消息量大了就横向加节点。
Web 控制台:内置在二进制发行包里,启动后打开 localhost:8161/admin 就能看队列和主题。
协议覆盖:AMQP、STOMP、MQTT、OpenWire 全部支持,开源,Apache 2.0 许可。

