Apache Kafka Reviews

4.1 out of 5 stars
 (17)
Message queue report from it central station 2017 12 30 thumbnail
Find out what your peers are saying about Apache, IBM, Pivotal and others in Message Queue.
246,941 professionals have used our research since 2012.
Message queue report from it central station 2017 12 30 thumbnail
Find out what your peers are saying about Apache, IBM, Pivotal and others in Message Queue.
246,941 professionals have used our research since 2012.

User Assessments By Topic About Apache Kafka

I used Kafka with a client to decouple applications with different availability profiles. Before using a messaging-based architecture with Kafka as the messaging system, the client used a coordinator application to fire off various posts to as many as eight other applications. With an application that's impacting at least a customer a second in airports, where the customers demand that the system always works, there were issues with ensuring high availability. A typical way to calculate system availability is: Availability = Uptime/(Uptime + Downtime). Hence, where there are two applications involved with a 99% availability, the total system availability degrades quickly: 99% * 99% = 98.01%. With eight applications, total availability caused issues. However, only two systems needed to provide real-time responses, while other systems were for payment processing, CRM, promotions, etc. It was OK if those systems were not up to date in real time. Kafka allowed the client to have temporal decoupling for writes, i.e., the flaky third-party CRM system did not need to be available at the moment for us to respond to a user with a successful response. The availability concerns shifted to Kafka, which is a better trade off because it's built for this. Another benefit, though not required, was the addition of logical decoupling between applications. Additional consumers could be built to overlay concerns of analytics, but the systems responsible for creating the entities on a given topic did not need to be aware of the analytics applications. This simplifies the interaction between applications and concerns of an organization. Another benefit of this architecture is that testing is simplified. A given application needs to be tested to obey a contract of reading a message and producing another message. A Kafka topic acts as the boundary for an integration test.

Apache Kafka Consultants


Request a call with one of our top consultants and experts in Apache Kafka. (Add me to this list.)
294bf53a 7050 4633 bd52 249f8c4d01d7 avatar
99
TOP 20
Senior Software Engineering Consultant
Anonymous avatar x100
82

What is Apache Kafka?

Apache Kafka is a distributed streaming platform, with the following capabilities:

  • It lets you publish and subscribe to streams of records. In this respect it is similar to a message queue or enterprise messaging system.
  • It lets you store streams of records in a fault-tolerant way.
  • It lets you process streams of records as they occur.

Apache Kafka gets used for two broad classes of application:

  • Building real-time streaming data pipelines that reliably get data between systems or applications.
  • Building real-time streaming applications that transform or react to the streams of data.
Vendor 6846 screenshot 1514653414
BUYER'S GUIDE
Not sure which Message Queue solution is right for you?

Download our free Message Queue Report and find out what your peers are saying about Apache, IBM, Pivotal, and more!
Message queue report from it central station 2017 12 30 thumbnail

Sign Up with Email