Denis Washington & Olli Salonen
Kafka Streams Microservices
#1about 3 minutes
Core concepts of Kafka and Kafka Streams
Kafka is a distributed event streaming platform using topics, partitions, producers, and consumers for scalable data processing.
#2about 6 minutes
Evolving from classic microservices to event-driven design
The architecture evolved from traditional request-response microservices to an event-driven model using Kafka as the single source of truth to improve decoupling and extensibility.
#3about 3 minutes
Understanding the system topology and failure scenarios
The system uses an API service with materialized views for robust reads and command processing topologies that can recover from failures by replaying input topics.
#4about 4 minutes
Building a searchable product catalog pipeline
A data pipeline cleans, deduplicates, and amends product data from various sources, then streams it to Elasticsearch to create a searchable materialized view.
#5about 2 minutes
Implementing inventory management using a CQRS pattern
A command processing pipeline implements the CQRS pattern by separating write operations from read models, using an event topic as the source of truth for inventory data.
#6about 7 minutes
Solving uniqueness constraints and race conditions
Race conditions caused by eventual consistency are solved by using manually updated state stores and repartitioning command streams to ensure data locality for validation.
#7about 3 minutes
Opportunistic data consumption for new features
New features like automatic warranty extensions can be added by deploying new services that consume existing data streams without modifying the original producers.
#8about 5 minutes
Key challenges and lessons from a pure Kafka approach
A pure Kafka Streams architecture presents challenges in development complexity, stateful operations, careful configuration for transactions, and operational tooling.
#9about 12 minutes
Evolving the architecture with a hybrid database approach
The architecture can be evolved by integrating traditional databases to simplify complex stateful logic, while using connectors to publish all state changes back to Kafka.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
The Rise of Reactive Microservices
David Leitner
Why and when should we consider Stream Processing frameworks in our solutions
Soroosh Khodami
Tips, Techniques, and Common Pitfalls Debugging Kafka
DeveloperSteve
Let's Get Started With Apache Kafka® for Python Developers
Lucia Cerchie
Advanced Caching Patterns used by 2000 microservices
Natan Silnitsky
What is a Message Queue and when and why would I use it?
Clemens Vasters
Database Magic behind 40 Million operations/s
Jürgen Pilz
Don't Change the Partition Count for Kafka Topics!
Dainius Jocas
From learning to earning
Jobs that call for the skills explored in this talk.


DevOps Engineer – Kubernetes & Cloud (m/w/d)
epostbox epb GmbH
Berlin, Germany
Intermediate
Senior
DevOps
Kubernetes
Cloud (AWS/Google/Azure)


![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)

Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL
Technology Architect - Apache Kafka, Confluent Platform - Spain
Infosys
Municipality of Madrid, Spain
API
Java
Azure
Kafka
Python
+5
Backend Engineer - Real-Time Data & Streaming | Java, Kafka, Flink
Capgemini
Municipality of Madrid, Spain
Remote
Intermediate
ELK
Java
Kafka
Docker
+6
Expert « Outils Kafka » (Confluent) H/F
DOXALLIA
Paris, France
Remote
Senior
Kafka
Gitlab
Kubernetes
Continuous Integration
+1
Solutions Architect - Kubernetes
CoreWeave Europe
Charing Cross, United Kingdom
Remote
€116-155K
Kubernetes


