Need advice about which tool to choose?Ask the StackShare community!
Apache Tomcat vs Apollo: What are the differences?
Introduction
Apache Tomcat and Apollo are both web server technologies used to host and run web applications. Despite their similar purpose, there are significant differences between the two.
Protocol Support: Apache Tomcat primarily supports HTTP and HTTPS protocols, making it suitable for traditional web applications. On the other hand, Apollo provides support for multiple protocols, including MQTT, STOMP, and AMQP, making it ideal for Internet of Things (IoT) applications.
Scalability and Performance: Apache Tomcat is known for its scalability and can handle a large number of concurrent connections efficiently. On the other hand, Apollo is designed for high-performance messaging, with features like persistent message storage and clustering capabilities, making it suitable for scenarios where scalability and performance in messaging are crucial.
Administration and Management: Apache Tomcat provides a web-based administration console that allows easy configuration and management of the web server. In contrast, Apollo does not have a built-in administration console, and the configuration is typically done through configuration files. However, Apollo provides a RESTful management API that allows programmatic administration and management.
Supported Programming Languages: Apache Tomcat is primarily designed for running Java-based web applications using Servlets and JavaServer Pages (JSP). In contrast, Apollo does not have specific language requirements and can be used to run applications written in various programming languages, making it more versatile in terms of language support.
Messaging Features: Apollo is specifically designed as a messaging broker and provides advanced messaging features like pub/sub messaging, message queuing, and durable subscriptions. These features are not available or as extensive in Apache Tomcat, which is more focused on serving web applications.
Community and Support: Apache Tomcat has been around for much longer and has a large and active community of users, which means more support and resources available. Apollo, although less popular, does have an active community as well, but the support and resources may not be as extensive as that of Apache Tomcat.
In summary, Apache Tomcat is a versatile web server primarily focused on hosting traditional web applications, while Apollo is a messaging broker that provides advanced messaging features and is well-suited for IoT applications.
We wanted to save as much time as possible when writing our back-end, therefore Apollo was out of the question, we went for an auto-generated API instead. Hasura looked good in the beginning, but we wanted to retain the ability to add a few manual resolvers and modifications to auto-generated ones, which ruled out Hasura. Postgraphile with its Plug-In architecture was the right choice for us, we never regretted it!
I was in a situation where I have to configure 40 RHEL servers 20 each for Apache HTTP Server and Tomcat server. My task was to 1. configure LVM with required logical volumes, format and mount for HTTP and Tomcat servers accordingly. 2. Install apache and tomcat. 3. Generate and apply selfsigned certs to http server. 4. Modify default ports on Tomcat to different ports. 5. Create users on RHEL for application support team. 6. other administrative tasks like, start, stop and restart HTTP and Tomcat services.
I have utilized the power of ansible for all these tasks, which made it easy and manageable.
Pros of Apollo
- From the creators of Meteor12
- Great documentation8
- Open source3
- Real time if use subscription2
Pros of Apache Tomcat
- Easy79
- Java72
- Popular49
- Spring web1
Sign up to add or upvote prosMake informed product decisions
Cons of Apollo
- File upload is not supported1
- Increase in complexity of implementing (subscription)1
Cons of Apache Tomcat
- Blocking - each http request block a thread2
- Easy to set up1