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 8.0 out of 10
N/A
Tomcat is an open-source web server supported by Apache.
N/A
IBM MQ
Score 9.1 out of 10
N/A
IBM MQ (formerly WebSphere MQ and MQSeries) is messaging middleware.
N/A
Pricing
Apache Kafka
Apache Tomcat
IBM MQ
Editions & Modules
No answers on this topic
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache Kafka
Apache Tomcat
IBM MQ
Free Trial
No
No
Yes
Free/Freemium Version
No
No
Yes
Premium Consulting/Integration Services
No
No
No
Entry-level Setup Fee
No setup fee
No setup fee
No setup fee
Additional Details
—
—
—
More Pricing Information
Community Pulse
Apache Kafka
Apache Tomcat
IBM MQ
Considered Multiple Products
Apache Kafka
Verified User
Analyst
Chose Apache Kafka
Confluent Cloud is still based on Apache Kafka but it has a subscription fee so, from a long term perspective, it is wiser to deploy your own Kafka instance that spans public and private cloud. Amazon Kinesis, Google Cloud Pub/Sub do not do well for a very number of messages …
Kafka is faster and more scalable, also "free" as opensource (albeit we deploy using a commercial distribution). Infrastructure tends to be cheaper. On the other hand, projects must adapt to Kafka APIs that sometimes change and BAU increases until a major 1.x version comes out …
Tomcat stacks up against the others very well due to its adoption in the open source community, low total cost of ownership, maintenance, and ease of deployment. It's much more lightweight than Websphere or Weblogic and provides most of the features most developers would need, …
Apache Kafka may be a better option in comparison with IBM MQ its real-time data streaming and large data payload service. It depends upon the specific requirement and meets those needs. MuleSoft any point platform is very easy to connect to various other types of platforms in …
I've also used Apache Kafka and RabbitMQ. Compared to these, IBM MQ offers superior reliability and transactional integrity, making it a better choice for complex, mission-critical enterprise environments where message delivery and security are paramount. We chose IBM MQ for …
Kafka is renowned for its impressive throughput, fault tolerance, and real-time data streaming capabilities. Nonetheless, IBM MQ remains the preferred choice due to its unwavering commitment to guaranteed delivery and exceptional reliability. Fault-Tolerant Architectures of IBM …
We found IBM MQ very easy to get started and quick to learn by the new users with a short learning curve and seamlessly integrates with IBM products, and quick to perform self-service analytics and make informed business decisions. IBM MQ is also very straightforward in …
IBM MQ is very stable and a proven product compared to other Messaging platforms available. Performance was better than WSO2 product and also the RabbitMQ. Though Kafka and IBM MQ is not directly comparable, Kafka is more suited for event based systems and also where there is …
Apache Kafka is well-suited for most data-streaming use cases. Amazon Kinesis and Azure EventHubs, unless you have a specific use case where using those cloud PaAS for your data lakes, once set up well, Apache Kafka will take care of everything else in the background. Azure EventHubs, is good for cross-cloud use cases, and Amazon Kinesis - I have no real-world experience. But I believe it is the same.
Excellent value for companies wishing to host Java applications in the cloud. Utilizing hosting tools such as load balancers and network and application firewalls, Tomcat can be part of a powerful system to host web applications to thousands of users. There has been consistency in the development and support of Tomcat since its initial release in the late '90s and the best commonalities have been carried forward. If you host Java web applications, Tomcat is as good as any for an application server.
In the context of Internet of Things (IoT) applications, IBM MQ plays a pivotal role in managing the substantial data streams emanating from interconnected devices. Its primary function is to guarantee the dependable transmission and processing of data, catering to a diverse range of IoT use cases, including but not limited to smart city initiatives, healthcare monitoring systems, and industrial automation solutions. In the telecommunications sector, IBM MQ is employed for message routing, call detail record (CDR) processing, and network management to ensure real-time data exchange and fault tolerance. When managing the supply chain and logistics, IBM MQ is used to ensure timely and accurate communication between different entities, including suppliers, warehouses, and transportation providers. IBM MQ can be cost-prohibitive for smaller organizations due to licensing and maintenance costs. In such cases, open-source or lightweight messaging solutions may be more appropriate. For scenarios requiring extremely low-latency, real-time data exchange, and high throughput, other messaging technologies, like Apache Kafka, may be more suitable due to their specialized design for such use cases.
Really easy to configure. I've used other message brokers such as RabbitMQ and compared to them, Kafka's configurations are very easy to understand and tweak.
Very scalable: easily configured to run on multiple nodes allowing for ease of parallelism (assuming your queues/topics don't have to be consumed in the exact same order the messages were delivered)
Not exactly a feature, but I trust Kafka will be around for at least another decade because active development has continued to be strong and there's a lot of financial backing from Confluent and LinkedIn, and probably many other companies who are using it (which, anecdotally, is many).
The documentation is very clear,It is understandable and the support helps to configure it in the best way.
Server guidelines make it possible to get the most out of work management. It's broad, we can work with different operating systems, I really recommend using linux.
It is highly compatible with systems, brockers, applications, and data accumulation programs, it is possible to configure everything so that after the installation of programs, they can communicate with each other and then throw data to an external program that accumulates it and represents in clear details of steps to follow and make business decisions.
Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great.
Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed.
Learning curve around creation of broker and topics could be simplified
Using tomcat manager to troubleshoot is not very informative. Error messages are vague, you have to dig into log files for more information about the problems.
Is great for simple web applications, but may not work for heavy development which may require a full J2EE stack, might like JBoss better.
Security in tomcat is not straightforward, as I discovered that you have to understand how to set up realms in tomcat in order to hash passwords, which I was not overly familiar with, which is a big deal when setting up users in the tomcat-users.xml file.
There is limitation on number of svrconn connections you can have to MQ on the mainframe which has been an major issue for us. This has been an issue for us for over 4 years and still no fix although I am aware IBM have been working on a solution over the last year.
When upgrading to MQ V9.3 on our MQ appliances there is no fall-back option. This was the same for MQ V9.2 upgrade from MQ V9.0. For production upgrades this I believe is not acceptable.
AMS is not supplied as part of the standard mainframe MQ licence. You need an extra licence. IBM tell customers how important security and protecting data is yet they still want to charge for this software. The cost of MQ on the mainframe is not cheap so I would expect AMS to be part of the base product.
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
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.
I give it a nine because it has significantly improved my team's data reliability and operational efficiency. Its great security features give us peace of mind, knowing our sensitive data is well protected. While the setup might initially be complex, I believe the long-term benefits far outweigh this hurdle.
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.
The messages are delivered instantly with this software and it integrates with our technology stack, in terms of availability we only had one failure when we were doing some testing and integration with third parties, the features of this software make it always available and its deployment is easy for the company, it does not generate expenses due to failures
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.
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.
There are very specific things that must be elevated to more specialized areas of support, but the common support is very agile when receiving questions or when we leave concerns in real time. I recommend the support of the program in this regard.
I used other messaging/queue solutions that are a lot more basic than Confluent Kafka, as well as another solution that is no longer in the market called Xively, which was bought and "buried" by Google. In comparison, these solutions offer way fewer functionalities and respond to other needs.
Eclipse Jetty is the best alternative for Apache Tomcat because which is also an open-source and lightweight servlet container like Tomcat. A major advantage of this over Tomcat is that Jetty server can easily be embedded with the source code of web applications. Since it requires less memory to operate, you may realize that it is very efficient.
We found IBM MQ very easy to get started and quick to learn by the new users with a short learning curve and seamlessly integrates with IBM products, and quick to perform self-service analytics and make informed business decisions. IBM MQ is also very straightforward in creating simple and best reports, which are very profitable and productive.
Positive: Get a quick and reliable pub/sub model implemented - data across components flows easily.
Positive: it's scalable so we can develop small and scale for real-world scenarios
Negative: it's easy to get into a confusing situation if you are not experienced yet or something strange has happened (rare, but it does). Troubleshooting such situations can take time and effort.
Tomcat is cheap and very quick to deploy, so it has benefited much when situation needs applications to be deployed quickly without wasting time on licensing and installations.
Plenty of documentation available so no vendor training is required. Support contract is not needed as well.