Skip to content

Commit

Permalink
streams intro
Browse files Browse the repository at this point in the history
  • Loading branch information
jeqo committed May 31, 2018
1 parent 694e441 commit 13f00dc
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 3 deletions.
42 changes: 39 additions & 3 deletions 04-kafka-streams/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,47 @@
# Kafka Streams API

Kafka Streams is a library that can be used to enable stream processing
capabilities on your applications.

This means that you can process data "on the fly" (i.e. subscribe to
events on Kafka) and producer new events. This sounds very similar to
Producer and Consumer API, and it is because those are used inside
Kafka Streams. But plus consuming and producing events, the capabilities to process
the stream is what makes Streams a powerful API.

## Streams Topology

## DSL: Stateless Operations
There are 2 APIs in Kafka Streams:

* Processor API
* Streams DSL

Where the API define `Processor` stages where data that comes from
Sources (i.e. Topics) are processed.

But we have a DSL that simplifies the processing of data, and have common
operators to process data (e.g. mapping, filtering, joining, etc.)

The goal of these APIs is to define a `Topology` that represents
the Stream Application.

![](stream-process.png)

## Streams DSL

Inside Kafka Streams DSL API, there are 2 main abstractions:

* `KStreams`
* `KTable`

`KStreams` represents data in motion and `KTable` represents data at rest.

Both notions are key to implement Streaming Applications.

### DSL: Stateless Operations

## DSL: Stateful Operations
### DSL: Stateful Operations

## Tables and Joins
### Tables and Joins

## Windows
Binary file added 04-kafka-streams/stream-process.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 13f00dc

Please sign in to comment.