Apache Camel vs. Apache Kafka

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Camel
Score 6.3 out of 10
N/A
Apache Camel is an open source integration platform.N/A
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
Pricing
Apache CamelApache Kafka
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache CamelApache Kafka
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 CamelApache Kafka
Considered Both Products
Apache Camel
Chose Apache Camel
Easier to use, better routing system, but perhaps too basic dependant on business needs?
Chose Apache Camel
If you are looking for a Java-based open source low cost equivalent to webMethods or Azure Logic Apps, Apache Camel is an excellent choice as it is mature and widely deployed, and included in many vendored Java application servers too such as Redhat JBoss EAP. Apache Camel is …
Chose Apache Camel
working with Apache's TomCat server, our developer found it most easy given the UI of Camel to perform integration and data processing tasks. when compared to the other two softwares they felt the need to learn new tools outside of Apache family can be avoided and with kafka, …
Chose Apache Camel
WebSphere Message Broker - Expensive, old, hard to use, bad connectors
Mulesoft - Very similar to Camel, but expensive and buggy
Chose Apache Camel
We did a comparison of the two products with an example application that tested about 10 distinct EIP pattern. We wrote Camel in XML and Java DSL and SI in XML. This was about 3 years ago. At the time, I found the threading model in SI to be more intuitive and Camel's seda. …
Chose Apache Camel
Akka or Spring Integration/ XD are alternatives to Apache Camel and very good frameworks on their own (especially Akka which provides a single threaded illusion).
Chose Apache Camel
We chose Apache Camel because it was lightweight, easy to get started with and because it had a groovy DSL since we were a grails shop when we started using it.
Chose Apache Camel
Apache Camel has been the integration framework of choice, but I was not the person to make the decision to use it. Compared to other competing products like Tibco Business Works, etc., it is free and open source and its licensing policy is acceptable to the management of Cox.
Chose Apache Camel
Esper is only similar in that they both are involved in complex even processing, however Esper's aim is a little more complex and specialized. In general however I found Apache Camel to be much easier to understand, implement and debug, whereas Esper's DSL can get very …
Apache Kafka
Chose Apache Kafka
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 …
Chose Apache Kafka
It had the clustering functionality and gave tolerance against machine failure.
Chose Apache Kafka
- The biggest advantage of using Apache Kafka is that it is cloud agnostic - It handles super high volume, is fault tolerance, high performance
Chose Apache Kafka
Apache Kafka can work at a higher scale as compared to SQS. It can work with higher size per message and millions of messages per second. Moreover it can be scaled horizontally by adding more brokers to the cluster. SQS is good enough for simple use cases like making a task …
Chose Apache Kafka
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 …
Chose Apache Kafka
Apache Kafka is open-sourced, scales great has cloud agnostics and performs better than Amazon Kinesis [in my view]. Amazon Kinesis has some limitations and vendor lockin is not something I [like]. With Confluent operators you can easily install it on a kubernetes cluster.
Chose Apache Kafka
We really needed to get away from using a SQL database to act as a queue for processing records, so a new solution was needed. Kafka is a leading software application initially designed for queuing messages which is essentially what we were looking for. It has a great user …
Chose Apache Kafka
Kafka is simple and lower in price.
Chose Apache Kafka
For us, Kafka really doesn't have a 1:1 alternative. We have used ActiveMQ extensively and we still use it as a lighter option for small messages. The situation is similar with Redis - although it could be used like a Kafka alternative, we do use it just as a per-component …
Chose Apache Kafka
Apache Kafka is much more scalable and more reliable. Does not depend on memory, works well on rotational disks and that makes it a cheaper to use solution on low hardware requirements. Running multiple consumers on the same topic can also mean processing the same data again …
Chose Apache Kafka
All stack tech helps our app and system. These technologies allow us to have the data available faster between different regions (due to our particular configuration) and thus the data and processing load of each system is lower. This allows the systems to be used more …
Chose Apache Kafka
We had lots of problems with active mq. That is why we started using Apache Kafka.
Chose Apache Kafka
Kafka is not a real messaging broker implementation as RabbitMQ or TIBCO EMS/JMS are. Although it can be used as messaging, we like the idea behind the Kafka (data isn't "passing by," instead it remains centra, so the client can revisit the data if necessary). This also …
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 …
Chose Apache Kafka
I would only use RabbitMQ over Kafka when you need to have delay queues or tons of small topics/queues around.
I don't know too much about Pulsar - currently evaluating it - but it's supposed to have the same or better throughput while allowing for tons of queues. Stay tuned - I …
Chose Apache Kafka
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 …
Best Alternatives
Apache CamelApache Kafka
Small Businesses

No answers on this topic

No answers on this topic

Medium-sized Companies
Boomi
Boomi
Score 8.9 out of 10
IBM MQ
IBM MQ
Score 9.6 out of 10
Enterprises
TIBCO B2B Integration Solution
TIBCO B2B Integration Solution
Score 8.0 out of 10
IBM MQ
IBM MQ
Score 9.6 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache CamelApache Kafka
Likelihood to Recommend
7.9
(0 ratings)
8.0
(0 ratings)
Likelihood to Renew
-
(0 ratings)
9.0
(0 ratings)
Usability
-
(0 ratings)
8.0
(0 ratings)
Support Rating
-
(0 ratings)
8.4
(0 ratings)
User Testimonials
Apache CamelApache Kafka
Likelihood to Recommend
Message brokering across different systems, with transactionality and the ability to have fine tuned control over what happens using Java (or other languages), instead of a heavy, proprietary languages. One situation that it doesn't fit very well (as far as I have experienced) is when your workflow requires significant data mapping. While possible when using Java tooling, some other visual data mapping tools in other integration frameworks are easier to work with.
Read full review
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
Pros
  • open source and a great set of component feature set - always latest features available for integration
  • works well with spring boot
  • great community and support for any kind of workflow
  • based on enterprise integration patterns which helps our developers achieve integration tasks with all kinds of API services
Read full review
  • 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
Cons
  • Some of the documentation is a little sparse. In particular, its TCP-based routes use an underlying Netty server, and the interactions between Netty's decoder capabilities and Apache Camel's routing/handler capabilities can be a little muddy at times. In general it is clear which routes and endpoints are the more frequently used and which haven't been given as much attention.
Read full review
  • 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
Likelihood to Renew
No answers on this topic
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
Usability
No answers on this topic
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
Support Rating
No answers on this topic
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
Alternatives Considered
Apache Camel has been the integration framework of choice, but I was not the person to make the decision to use it. Compared to other competing products like Tibco Business Works, etc., it is free and open source and its licensing policy is acceptable to the management of Cox.
Read full review
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
Return on Investment
  • Very fast time to market in that so many components are available to use immediately.
  • Error handling mechanisms and patterns of practice are robust and easy to use which in turn has made our application more robust from the start, so fewer bugs.
  • However, testing and debugging routes is more challenging than working is standard Java so that takes more time (less time than writing the components from scratch).
  • Most people don't know Camel coming in and many junior developers find it overwhelming and are not enthusiastic to learn it. So finding people that want to develop/maintain it is a challenge.
Read full review
  • 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
ScreenShots