Apache ActiveMQ vs Faye
Apache ActiveMQ
activemq.apache.orgFaye
faye.jcoglan.comSide by side
| Figure | Apache ActiveMQ | Faye |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | Yes |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Message Broker Software | 9.0 (#3) | 8.7 (#6) |
| Integrations | The site lists Spring support, JCA 1.5 resource adaptors, and testing in TomEE, Geronimo, JBoss, GlassFish, and WebLogic. | The download instructions provide installation through npm for Node.js and RubyGems for Ruby. |
| License | The product is released under the Apache License 2.0. | Faye is open-source software released under the Apache 2.0 license. |
| Security | The security documentation describes pluggable providers, JAAS authentication, and XML-configured authorization. | Faye allows cross-domain access and unrestricted publishing and subscribing by default, so the documentation advises adding application-appropriate restrictions. |
| What it does | Apache ActiveMQ is a Java-based, open-source message broker for asynchronous application communication. | Faye is a publish-subscribe messaging system based on the Bayeux protocol. |
Plans
In their own words
Apache ActiveMQ
Apache ActiveMQ is an open-source messaging and Integration Patterns server for applications that exchange messages. It is self-hosted and supports OpenWire, STOMP, AMQP 1.0, MQTT 3.1, and REST. Listed client languages include Java, C, C++, C#, Ruby, Perl, Python, and PHP. Messaging features include message groups, virtual and composite destinations, wildcards, and enterprise integration patterns. ActiveMQ fully supports JMS 1.1 and J2EE 1.4+ messaging, including transient, persistent, transactional, and XA modes; support for Jakarta Messaging 3.1 and JMS 2.0 is partial. Transport options include in-VM, TCP, SSL, NIO, UDP, multicast, JGroups, and JXTA, with JDBC persistence and a high-performance journal. Browser access is available through a REST API and Ajax web streaming. Security options include pluggable providers, JAAS authentication, XML-configured authorization, and user, group, and destination permissions. ActiveMQ Classic costs nothing under the Apache License 2.0.
Faye
Faye is a publish-subscribe messaging system that uses the Bayeux protocol. It provides message servers for Node.js and Ruby, plus clients for servers and major web browsers. Browser clients rely on a Faye server to relay messages; they can retry after a lost connection and redeliver dropped messages. Transport adapters cover WebSocket, HTTP long-polling, Cross Origin Resource Sharing, and JSON-P callback-polling. Server and client extensions can intercept or modify messages, including to add subscription authentication. The monitoring API reports handshakes, subscriptions, unsubscriptions, publishes, and disconnections. Faye runs on Linux, macOS, and Windows, and can be self-hosted. Its default in-process engine cannot span multiple front-end web servers, but Redis and Couchbase engines are documented for distributed deployments. Faye is free and open source under the Apache 2.0 license; the listed plan is free. Install the Node.js server through npm or the Ruby server through RubyGems.