Like buildings, web applications depend on infrastructure, most of which is open source software. Organizations now have an array of options to choose from when it comes to open source infrastructure components, including web and application servers.
In this guide, learn about key open source web infrastructure technologies like NGINX, Apache HTTP Server, and ActiveMQ, and explore resources — including blogs, on-demand webinars, and training courses — designed to steer enterprise teams toward successful, secure deployments.
Table of Contents:
Apache ActiveMQ
Apache ActiveMQ is an open source technology that was created in 2004 and donated to the Apache Software Foundation in 2007. The current release is 5.18.1, which became available in April 2023.
Some people may think of ActiveMQ as message-oriented middleware and not web infrastructure technology; however, there are use cases where web apps might use data that was moved into a back-end database by a JMS provider. ActiveMQ could more accurately be described as an enterprise integration technology that can be used in some web infrastructure use cases. For the purposes of this resource, we will be discussing it in that context.
Read more about how ActiveMQ works >>
Getting Started With ActiveMQ
In ActiveMQ, it’s important to understand the difference between queues and topics. An ActiveMQ queue is a message pipeline where a message, once it comes in, just goes to a single subscriber. On the other hand, a topic in ActiveMQ is a pipeline where messages that come in are sent to every subscriber.
Read more about ActiveMQ topic vs. queue >>
As with all message broker, there is some tradeoff between reliability and performance and finding the right balance can be tricky. As teams scale their ActiveMQ deployments, they often encounter some ActiveMQ performance issues related to slow consumers, storage of persistence stores, and embedded brokers.
Read more about how to optimize ActiveMQ performance >>
Using ActiveMQ
The best way to decide if ActiveMQ is right for you is to consider real-world applications. It’s a versatile technology with use cases spanning many industries. Essentially, any complex system that needs to communicate or send messages between a source or a destination can benefit from ActiveMQ.
Read about specific ActiveMQ examples >>
ActiveMQ Applied: Real-World Use Cases
Watch this on-demand webinar to learn about:
- ActiveMQ benefits, limitations, and considerations for deployment
- Applying ActiveMQ to new and existing applications
- Enterprise use cases in sectors such as transportation and energy
ActiveMQ Alternatives
There are several technologies that frequently get compared to ActiveMQ because of some overlapping functionalities. In this section, we look at a few of the most common ones.
Artemis
ActiveMQ Artemis was created to replace ActiveMQ 5, but it’s actually quite distinct architecturally. For example, traditional queues and topics are implemented differently via the Artemis Address Model. There are persistence differences as well, with Artemis using active-active clustering compared to ActiveMQ’s passive-active cluster model. Finally, Artemis is built on top of HawtIO, giving users a console with lots of additional features compared to the Jetty-powered web console that ships with ActiveMQ 5.
Read more about ActiveMQ vs. Artemis >>
RabbitMQ
RabbitMQ is an open source, distributed message broker known for high availability and fault tolerance. RabbitMQ is written in Erlang and works well with AMQP protocol clients, in contrast to ActiveMQ, which is JMS-based and can support multiple integrations through Apache Camel.
Read more about ActiveMQ vs. RabbitMQ >>
Kafka
Though Apache Kafka is technically an event streaming platform, it can be used as a message broker, which is why it is sometimes compared to ActiveMQ. They handle messages in different ways, however, so depending on your needs, one might be a better fit than the other.
Read more about Kafka vs. ActiveMQ >>
Watch this brief video highlighting differences between Kafka, RabbitMQ and ActiveMQ:
ActiveMQ Training
This course dives into the essentials for ActiveMQ administration, giving participants real-world experience with installing, tuning, and maintaining ActiveMQ. Additionally, developers will learn how to handle integrations with ActiveMQ, even with technologies written in different languages.
NGINX
NGINX is an open source web server that utilizes an event-driven architecture and can also function as a load balancer, reverse proxy, and http cache. It was developed in 2004 to directly compete with Apache HTTP Server and there is also a commercial version, NGINX Plus, that requires a paid subscription. NGINX is known for being fast and scalable, and is often deployed in Kubernetes stacks.
Learn more about NGINX vs. Tomcat >>
Compare NGINX vs. HAProxy >>
Read about NGINX setup and see examples of NGINX configuration >>
Get tips for NGINX performance tuning >>
NGINX Training
Our NGINX instructor-led course covers the basic features as well more advanced functionality for NGINX like reverse proxying, load balancing, and caching. The three-day course, which can be delivered on-site or online, balances lecture with hands-on lab time to help team develop the skills required to successfully deploy NGINX in a production environment.
Apache HTTP Server
Apache HTTP Server, also sometimes called Apache Server, Apache httpd or just Apache, is the original open source web server. It has been around since the mid-90s and was the project that led to the creation of the Apache Software Foundation in 1999. Apache 2.4 was the last major release, and until NGINX emerged on the scene, had no real competition in the open source web server space.
Learn more about Apache vs. NGINX >>
Additional Web Infrastructure Resources
Web servers like NGINX and Apache HTTP Server can be deployed on their own and serve web content, but are sometimes run in front of an application server like Tomcat to add an extra layer of security. When working as a proxy, web servers determine what goes in and comes out of the app server.
Read about the difference between a web server vs. application server >>
Security
Often thought of as the first line of defense, web servers frequently serve as proxies that stand between business applications and the internet. Keeping your web server secure and understanding how to mitigate different kinds of attacks is essential to protecting sensitive data and other critical assets.
Learn more about web server security >>
Open Source Web Infrastructure: Current Ecosystem and Trends
In this on-demand webinar, hear about the evolving landscape of open source web infrastructure software, which is often responsible for an organization's business-critical applications. Featuring NGINX OSS Technical Evangelist Dave McAllister, Perforce Chief Open Source Evangelist Javier Perez, and OpenLogic Enterprise Architect Joe Carder.