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