Hi, I'm Stéphane, CTO of Conduktor, a major Apache Kafka Platform. I live in France. Enthousiast and eager to learn, I'm always seeking for challenges. Find out more about me.
↓ Below is a small selection of the most read articles, grouped by theme. ↓
Using Debezium to ensure consistency between PostgreSQL and Kafka is nice, but what at what cost? Here is what we learned.
CQRS is a useful pattern to reason about the activities of a specific domain. But it definitely comes with a steep learning curve. Reads, Writes, DDD, Event Sourcing, Eventual Consistency, why should we care?
Kafka Streams has a high-level DSL to work with, but offers more power with its low-level DSL. In the latest versions, we can enable automatic optimizations: they can greatly help you, but we should understand at what cost.
The consuming model of Kafka is very powerful, can greatly scale, and is quite simple. It's useful to understand how the internals work, like the topic __consumer_offsets, and see how to use Kafka Streams Druid to display its content.
We can learn a lot from functions just by looking at their signatures. The simpler the types, the easiest it is to understand it. Polymorphism and Pure Functional Programming help us.
Who said parsers had to be complicated to write? We'll see how we can use the State monad to write mini-parsers (to recognize letters, digits), combine them (to recognize words, numbers), then finally parser a complete language.
Java and the JVM is a humongous world with tons of tools, options, and behaviors to be aware of (GC). It's always useful to have an overview.
JMX is an API used to expose data from any Java program to the outside. It's used by tons of softwares and libraries because you can then gather the data in any other system.
There are multiple patterns for components to talk to each others, according to their bond (parent, child, other). We'll see all of them!