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
Google Cloud Pub/Sub
Score 8.8 out of 10
N/A
Google offers Cloud Pub/Sub, a managed message oriented middleware supporting many-to-many asynchronous messaging between applications.
N/A
TIBCO Messaging
Score 7.7 out of 10
N/A
TIBCO offers high-performance messaging technology, and gives customers flexibility and unique choice between Commercial and Open-source messaging solutions. TIBCO Messaging is a comprehensive messaging portfolio available to meet a wide variety of use cases and deployment models.
N/A
Pricing
Apache Kafka
Google Cloud Pub/Sub
TIBCO Messaging
Editions & Modules
No answers on this topic
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache Kafka
Google Cloud Pub/Sub
TIBCO Messaging
Free Trial
No
No
No
Free/Freemium Version
No
No
No
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
Google Cloud Pub/Sub
TIBCO Messaging
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 …
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 …
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 …
Google Cloud Pub/Sub is a managed service compared to Apache Kafka.
Simple Queue Service (SQS) is an Amazon managed service that supports similar functionality as compared to Google Cloud Pub/Sub. However, we selected Google Cloud Pub/Sub as all other services in our platform …
Kafka looks like and ordered queue, there no deliver backoff, so if a message has a problem, it doesn't advance to the next one. Google Cloud Pub/Sub looks like more a SET of messages, and kafka like a LIST. In kafka a same message will repeat instantaneously while it is being …
We considered several messaging platforms including Kafka and Kinesis but both would have required more developer work and didn't integrate as nicely with our ecosystem. RabbitMQ is another messaging platform I've researched and prototyped on; it also would have required more …
We also use other messaging products: IBM MQ, especially for integration with other systems (server2server), which has been an industry standard for a long time, and Apache Kafka for cloud-native applications. EMS is a worse option compared to them, but it is still acceptable.
We chose TIBCO Messaging not just for its performance but because it looked like the natural way to pave our existing TIBCO Integration architecture. Setting up TIBCO EMS servers and objects seems more straightforward than with most of competitors. It is easy to configure and …
IBM MQ was the old product we used, and we migrated from it to TIBCO EMS. We use also RabbitMQ for our light-weight IPC scenarios and Kafka for our data stream use cases. They 3 compose our complete messaging and streaming solution.
TIBCO Enterprise Message Service was selected because of the contract with TIBCO. We generally see company buying other TIBCO products such as TIBCO BusinessWorks and then TIBCO offers some discount on their "minor" products. If I would compare technical capabilities of EMS …
We selected TIBCO EMS because we selected TIBCO BW as an ESB. TIBCO EMS must be installed in the TIBCO BW stack. I prefer TIBCO EMS because it implements very powerful functionality like bridges and routing.
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.
If you want to stream high volumes of data, be it for ETL streaming or event sourcing, Google Cloud Pub/Sub is your go-to tool. It's easy to learn, easy to observe its metrics and scales with ease without additional configuration so if you have more producers of consumers, all you need to do is to deploy on k8s your solutions so that you can perform autoscaling on your pods to adjust to the data volume. The DLQ is also very transparent and easy to configure. Your code will have no logic whatsoever regarding orchestrating pubsub, you just plug and play. However, if you are not in the Google Cloud Pub/Sub environment, you might have trouble or be most likely unable to use it since I think it's a product of Google Cloud.
Organization which uses TIBCO Business Works or TIBCO Business Process Management or TIBCO BPM Enterprise can make use of TIBCO Messaging as it works well with other TIBCO tools. Many TIBCO tools have TIBCO Messaging products bundled as a package along with other TIBCO tools. Use of dynamic topics and queues makes run time processing easier.
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).
With a pub/sub architecture the consumer is decoupled in time from the publisher i.e. if the consumer goes down, it can replay any events that occurred during its downtime.
It also allows consumer to throttle and batch incoming data providing much needed flexibility while working with multiple types of data sources
A simple and easy to use UI on cloud console for setup and debugging
It enables event-driven architectures and asynchronous parallel processing, while improving performance, reliability and scalability
Tibco EMS performs very well, and it meets our stringent performance requirements for corporate messaging backbone.
Tibco EMS scales well, and this is another of our stringent requirements.
Tibco provides good support for the EMS product, and continues to improve it. This is important as we don't want to use something that does not keep up with the changes in the technology landscape.
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
In terms of TIBCO Messaging, it would nice to have a more out-of-the-box way of linking its objects (queues, topics) directly to those of other popular solutions like MQ or Kafka.
Not being able to filter (that is, using selectors) through patterns/subtexts on the message body is missed on occasions.
Given the current trends and state-of-art, lift & shift of on-premise EMS clusters to cloud architectures should be more directly attainable.
It serves all of our purposes in the most transparent way I can imagine, after seeing other message queueing providers, I can only attest to its quality.
EMS is a solid system and I see no reason to abandon it, in fact I am eager to see what the next versions will offer and future road maps. Knowing we have support to help us in case of problems is invaluable, both in case of critical issues and to improve overall performance.
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
It is easy to create Google Cloud Pub/Sub topics from both Web Console and CLI commands.
Google Cloud Pub/Sub supports creation of one or more subscriptions.
By supporting a BigQuery Pub/Sub subscription to automatically write to a BigQuery table it simplifies development by avoiding implementation of a custom micro service for writes to BigQuery.
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.
They have decent documentation, but you need to pay for support. We weren't able to answer all our questions with the documentation and didn't have time to setup support before we needed it so I can't give it a higher rating but I think it tends to be a bit slow unless you're a GCP enterprise support customer.
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.
Having used Amazon Web Services SNS & SQS I can say that even if the latter may offer more features, Google Cloud Pub/Sub is easier to use. On the other hand, usage of SNS & SQS as well as documentation and troubleshooting is easier with the AWS solution. Since we are not using GCP only for Pub/Sub the choice depends on other variables.
We also use other messaging products: IBM MQ, especially for integration with other systems (server2server), which has been an industry standard for a long time, and Apache Kafka for cloud-native applications. EMS is a worse option compared to them, but it is still acceptable.
You can just plug in consumers at will and it will respond, there's no need for further configuration or introducing new concepts. You have a queue, if it's slow, you plug in more consumers to process more messages: simple as that.
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.