StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Platform as a Service
  4. Web Servers
  5. Apache Tomcat vs Apollo

Apache Tomcat vs Apollo

OverviewDecisionsComparisonAlternatives

Overview

Apache Tomcat
Apache Tomcat
Stacks16.9K
Followers12.6K
Votes201
GitHub Stars8.0K
Forks5.3K
Apollo
Apollo
Stacks2.7K
Followers1.8K
Votes25

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Apache Tomcat, Apollo

Hari
Hari

Mar 3, 2020

Needs advice

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.

419k views419k
Comments
Márton
Márton

CTO at Media4Care

Aug 31, 2020

Decided

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!

37.1k views37.1k
Comments
Raj
Raj

CTO & Founder at Novvum

Oct 5, 2020

Review

Hey Brian, it's hard to pick a best tool for any situation, however, there are tools that offer advantages dependent on use case.

Server Side

If you're looking to quickly generate a GraphQL API, you can use a Graphql As A Service like FaunaDB, Slash Graphql, or 8base.

If you want something more advanced on the server side: Prisma with Postgres, Nexus, & Apollo Server (js) is a great stack to try out. Examples here

Check out TypeORM and TypeGraphQL too

If you're have some existing data on Postgres, PostGraphile or Hasura are your best bet!

If you are using a lot of AWS services, check out Amplify and AppSync. Tutorial here

On the client side:

Check out Gatsby! Graphql is already configured and used to query static or remote information at build time. It's a great way to get your feet wet!

Apollo Client is often the choice for more advanced use cases. But URLQL and gqless are some pretty good alternatives too!

Hope this helps! 👍

304 views304
Comments

Detailed Comparison

Apache Tomcat
Apache Tomcat
Apollo
Apollo

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.

Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes.

Statistics
GitHub Stars
8.0K
GitHub Stars
-
GitHub Forks
5.3K
GitHub Forks
-
Stacks
16.9K
Stacks
2.7K
Followers
12.6K
Followers
1.8K
Votes
201
Votes
25
Pros & Cons
Pros
  • 79
    Easy
  • 72
    Java
  • 49
    Popular
  • 1
    Spring web
Cons
  • 3
    Blocking - each http request block a thread
  • 2
    Easy to set up
Pros
  • 12
    From the creators of Meteor
  • 8
    Great documentation
  • 3
    Open source
  • 2
    Real time if use subscription
Cons
  • 1
    Increase in complexity of implementing (subscription)
  • 1
    File upload is not supported
Integrations
No integrations available
GraphQL
GraphQL

What are some alternatives to Apache Tomcat, Apollo?

NGINX

NGINX

nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.

Heroku

Heroku

Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Apache HTTP Server

Apache HTTP Server

The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet.

Clever Cloud

Clever Cloud

Clever Cloud is a polyglot cloud application platform. The service helps developers to build applications with many languages and services, with auto-scaling features and a true pay-as-you-go pricing model.

Google App Engine

Google App Engine

Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.

Red Hat OpenShift

Red Hat OpenShift

OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.

Unicorn

Unicorn

Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between Unicorn and slow clients.

AWS Elastic Beanstalk

AWS Elastic Beanstalk

Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.

Microsoft IIS

Microsoft IIS

Internet Information Services (IIS) for Windows Server is a flexible, secure and manageable Web server for hosting anything on the Web. From media streaming to web applications, IIS's scalable and open architecture is ready to handle the most demanding tasks.

Passenger

Passenger

Phusion Passenger is a web server and application server, designed to be fast, robust and lightweight. It takes a lot of complexity out of deploying web apps, adds powerful enterprise-grade features that are useful in production, and makes administration much easier and less complex.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase