Apache Kafka


What is Apache Kafta? Kafta is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java.

Distributed Streaming Platform

At the website of Kafta, they describe a distributed streaming platform as having three characteristics.

  • 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.

Kafta is used for two broad kinds of applications:

  • 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

Publish-Subscribe

Wikipedia says: “In software architecture, publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead categorize published messages into classes without knowledge of which subscribers, if any, there may be. Similarly, subscribers express interest in one or more classes and only receive messages that are of interest, without knowledge of which publishers, if any, there are.”