Code Examples

You can find Streams code examples in the Apache Kafka and Confluent GitHub repositories.

The Confluent Streams examples are located here. These examples demonstrate the use of Java 8 lambda expressions (which simplify the code significantly), show how to read/write Avro data, and how to implement end-to-end integration tests using embedded Kafka clusters.

The Apache Kafka Streams examples are located at https://github.com/apache/kafka/streams/examples/. These examples demonstrate the use of the Kafka Streams DSL and the low-level Processor API, including typed and untyped examples.

Interactive queries examples

Since Confluent Platform 3.1+ and Kafka 0.10.1+, it is possible to query state stores created via the Kafka Streams DSL and the Processor API. Please refer to Interactive Queries for further information.

Java

With lambda expressions for Java 8+:

Event-Driven Microservice example

Java

The Event-Driven Microservice example implements an Orders Service that provides a REST interface to POST and GET orders. Posting an order creates an event in Kafka, which is picked up by three different validation engines: a Fraud Service, an Inventory Service, and an Order Details Service. These services validate the order in parallel, emitting a PASS or FAIL based on whether each validation succeeds.