Apache Kafka vs. Apache Tomcat

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Kafka
Score 7.7 out of 10
N/A
Apache Kafka is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java. The Kafka event streaming platform is used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.N/A
Apache Tomcat
Score 7.9 out of 10
N/A
Tomcat is an open-source web server supported by Apache.N/A
Pricing
Apache KafkaApache Tomcat
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache KafkaApache Tomcat
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Apache KafkaApache Tomcat
Features
Apache KafkaApache Tomcat
Application Servers
Comparison of Application Servers features of Product A and Product B
Apache Kafka
-
Ratings
Apache Tomcat
9.2
Ratings
15% above category average
IDE support00 Ratings10.00 Ratings
Security management00 Ratings9.00 Ratings
Administration and management00 Ratings8.20 Ratings
Application server performance00 Ratings8.10 Ratings
Installation00 Ratings10.00 Ratings
Open-source standards compliance00 Ratings10.00 Ratings
Best Alternatives
Apache KafkaApache Tomcat
Small Businesses

No answers on this topic

NGINX
NGINX
Score 9.2 out of 10
Medium-sized Companies
IBM MQ
IBM MQ
Score 9.6 out of 10
NGINX
NGINX
Score 9.2 out of 10
Enterprises
IBM MQ
IBM MQ
Score 9.6 out of 10
NGINX
NGINX
Score 9.2 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache KafkaApache Tomcat
Likelihood to Recommend
8.0
(0 ratings)
9.0
(0 ratings)
Likelihood to Renew
9.0
(0 ratings)
10.0
(0 ratings)
Usability
8.0
(0 ratings)
8.0
(0 ratings)
Availability
-
(0 ratings)
6.0
(0 ratings)
Performance
-
(0 ratings)
9.0
(0 ratings)
Support Rating
8.4
(0 ratings)
9.1
(0 ratings)
Configurability
-
(0 ratings)
8.0
(0 ratings)
Ease of integration
-
(0 ratings)
9.0
(0 ratings)
Product Scalability
-
(0 ratings)
9.0
(0 ratings)
User Testimonials
Apache KafkaApache Tomcat
Likelihood to Recommend
For brokering messages, Confluent Kafka is well suited since it offers a managed solution ready to use. Scenarios where the solution is not very well suited are for example, where pricing is an issue. The solution costs quite a lot for basic usage (for example: for 3 clusters, pricing is above 100k$ a year).
Read full review
Tomcat is more than enough to deploy most of the mid-end web applications without any problem but for the high-end applications which require high scalability and high availability, which might need some tune-ups with the support of expertise in this regard. Otherwise, you may realize numerous performance issues, memory leaks, server crashes etc.
Read full review
Pros
  • Apache Kafka is able to handle a large number of I/Os (writes) using 3-4 cheap servers.
  • It scales very well over large workloads and can handle extreme-scale deployments (eg. Linkedin with 300 billion user events each day).
  • The same Kafka setup can be used as a messaging bus, storage system or a log aggregator making it easy to maintain as one system feeding multiple applications.
Read full review
  • Fast to start up, which is useful when we need to just check that our changes are working correctly.
  • Free, which allows us to not be involved with the finance/legal team about using it.
  • Bundled with Spring Boot, which makes it even more convenient for our testing.
Read full review
Cons
  • The Kafka Tool is a community-made Java application that looks and feels from the past century.
  • Logging can be confusing. This certainly shows when we have to do troubleshooting.
  • Hybrid scenarios - pub/sub, but there are services in and outside a Kubernetes cluster. Then there are a ~3 options, but only 2 (the harder ones) are production-safe.
Read full review
  • tomcat is just part of the J2EE specification implementation, majorly focusing on the servlet (front-end) part. If you requires the full J2ee stack, like EJB support, you need consider other containers like Weblogic
  • tomcat's cluster level support is very limited
  • tomcat's admin/configuration is not so intuitive, and default logging needs a lot of improvement
Read full review
Likelihood to Renew
Kafka has suited our use case very well so far. Going forward we are planning to expand our platform manifold so the load on Kafka and our reliance on Kafka is going to increase only.
Read full review
We have a huge knowledge of the product within our company and we're satisfied with the performance.
Read full review
Usability
Apache Kafka is highly recommended to develop loosely coupled, real-time processing applications. Also, Apache Kafka provides property based configuration. Producer, Consumer and broker contain their own separate property file
Read full review
Tomcat has a very rich API set which allows us to implement our automation script to trigger the deployment, configure, stop and start Tomcat from the command line. In our projects, we embedded Tomcat in our Eclipse in all of the developer's machines so they could quickly verify their code with little effort, Azure Webapp has strong support for Tomcat so we could move our application to Azure cloud very easy. One drawback is Tomcat UI quite poorly features but we almost do not use it.
Read full review
Reliability and Availability
No answers on this topic
Tomcat doesn't have a built-in watchdog that ensures restart upon failure, so you have to provide it externally. A very good solution is java service wrapper. The community edition is able to restart Tomcat upon out of memories exceptions.
Read full review
Performance
No answers on this topic
Tomcat support to customize memory used and allow us to define the Connection pool and thread pool to increase system performance and availability, Tomcat server itself consume very little memory and almost no footprint. We use Tomcat in our production environment which has up to thousands of concurrent users and it is stable and provides a quick response.
Read full review
Support Rating
Support for Apache Kafka (if willing to pay) is available from Confluent that includes the same time that created Kafka at Linkedin so they know this software in and out. Moreover, Apache Kafka is well known and best practices documents and deployment scenarios are easily available for download. For example, from eBay, Linkedin, Uber, and NYTimes.
Read full review
Well, in actuality, I have never needed support for Apache Tomcat since it is configured and ready-to-go with no configuration needed on my end.
Read full review
Alternatives Considered
Apache Kafka is built for scale. From high throughput and real-time data streaming, it has a strong advantage over RabbitMQ with its low latency. This put Apache Kafka at the forefront as the platform of choice for large datasets messaging and ensuring scalability when data scale up tremendously. RabbitMQ however has its strengths in traditional messaging. Routing and message delivery reliability are the bedrock of RabbitMQ and this is where RabbitMQ excels. In my previous workplace, RabbitMQ was of choice as reliability matters more than scale. In two words. Apache Kafka for scale, RabbitMQ for reliability. And for cloud deployment and large dataset messaging in what I am doing now, Apache Kafka is the default choice.
Read full review
Commercial application servers are available that support enterprise application needs, but many times this is overkill for most web applications running in the cloud, particularly for independent software vendors. The capabilities and management tools provided with these applications are superior to Tomcat, but most times unnecessary for the vast majority of web applications developed in Java.
Read full review
Scalability
No answers on this topic
It's very easy to add instances to an existing deployment and, using apache with mod proxy balancer, to scale up the serving farm
Read full review
Return on Investment
  • Positive: bursts of traffic on special holidays are easy to handle because Kafka can absorb and buffer all the messages we need to process long enough to let an understaffed set of back-end services catch up on processing. Hard to put a number to it but we probably save $5k a month having fewer machines running.
  • Positive: makes decoupling the web and API services from the deeper back-end services easier by providing topics as an interface. This allowed us to split up our teams and have them develop independently of each other, speeding up software development.
  • Negative: our engineers have made mistakes such as accidentally dropping a few thousand messages due to the CLI being confusing to use, and as a result a customer lost some of their precious data. I'd say that was more our fault than Kafka's though.
Read full review
  • It has simplified administration efforts, thus saving much time to focus on other projects and issues.
  • It saves us in costs, as there are no licensing requirements.
  • It gives us the ability to manage all of our java applets in one place, so as to be able to host both development and production systems on one server.
Read full review
ScreenShots