Knowing Kafka theory is one thing — demonstrating it with working code is another. In this post, I walk through a project I built to capture the most important Kafka concepts in executable tests, using Spring Boot and an embedded broker. Each test encodes a specific behavior that I’ve dealt with...
Photo by Brett Jordan on Unsplash I led the development and scaling of our transactional email platform: the system that sends every booking-related message to customers across our travel product. What began as a solution owned by a single team grew into a shared platform that multiple product...
Photo by Caspar Camille Rubin on Unsplash 🎯 What is Kafka? Official definition: A distributed streaming platform for publishing, subscribing to, storing, and processing streams of events in real time. In practical terms: Kafka is a distributed messaging system that: Handles millions of...
Background At my current org, I got introduced to a very fun tool, PagerDuty - because who doesn't love being woken up at 3:31 AM? A similar alert flared up for one of our merchant services. While it mercifully avoided the 3 AM slot, the diagnostic was clear: The containers running were...
A review of A Winter in Zürau and Partita by Gabriel Josipovici Gabriel Josipovici has said that as a critic he is conservative but as a novelist he is radical. The second claim may not be controversial but the first will come as a surprise to those who remember what he said about the big-name...
The centenary of Kafka's death was marked twelve years late. His diary records it in September 1912:This story, The Judgment, I wrote at one sitting during the night of the 22nd-23rd, from ten o'clock at night to six o'clock in the morning. I was hardly able to pull my legs out from under the...
In a previous post on microservices integration patterns, we talked briefly about messaging. Messaging comes with many options and patterns, and one of the most critical decisions you’ll make is choosing between message brokers. RabbitMQ and Kafka are lead options, seen as representing queueing...