Apache Kafka is a streaming platform, and Kafka Streams is a Java library for building stream processing applications on top of Kafka.
One of the sweet spots for Kafka Streams is that no separate processing cluster is needed. It is meant to be a lightweight library to use in your application. You aren’t required to have cluster or resource management software like Apache Hadoop to run your workloads. However, it still has powerful features, including local state with fault tolerance, one-at-a-time message processing, and exactly-one support.
