Kafka Streaming App Part 1 - Sun, Oct 11, 2020
First part of a series of posts on how to develop a Kafka Streaming App
Kafka Streaming App Part 1
I recently read about the application of Apache Kafka
in the financial industry
. And although details of these solutions are not available, reading this brought an interesting question to my mind:
How to build a transactional streaming application
in Kafka without a database ?
This and the following articles describe how you can leverage Kafka transactions
, Kafka's Exactly-Once Semantic
for message delivery and message ordering guarantees
in order to create a transactional streaming application.
Use case
The use case is very simple:
- A banking account to which money can be deposited and withdraw
With the main functional challenge being that money can only been withdrawn when the account contains sufficient funds while technically maintaining elasticity of the streaming application.
Topology
The topology of the streaming application consists of a stream processor that will read account events, update the balance of the account and write account events indicating a success or failure of the transaction:
What’s next
Now that the basic requirements and first design are outlined, let’s get into the first [implementation details] (http://www.google.de )