A notification system often starts with a simple requirement: send an email, text message, or push notification when something happens in an application. For a small system, calling an external provider directly may be enough. As traffic grows, however, notification delivery becomes a distributed systems problem. A production notification platform needs to handle traffic spikes, provider failures, duplicate events, retries, delivery tracking, and multiple notification channels without slowing down the application that generated the notification.
This article explores how a scalable notification system can be designed using Spring Boot and Kafka, with a focus on asynchronous processing, fault tolerance, idempotency, retries, and horizontal scaling.
Updating Microservices with Netty 5, Kafka 3, and React: Whirlpool Revisited
Back in 2015 and 2016, I wrote two blogs that went step by step to develop a microservice/Netty architecture with fully working code called Whirlpool.
A lot has changed in the years since, so recently I decided to come back to the project, update it with the latest versions of Kafka and Netty, and add a React UI to it (rather than the vanilla JavaScript version it used before). In addition, I also added Windows Subsystem for Linux (WSL) scripts in addition to the Mac and Linux scripts that were there before and made all of the scripts more robust.
This blog will be about the work that went into all of those updates, plus a look at the new React UI. This provides an excellent view into what it takes to update an outdated microservices application implemented with Kafka (version .9 –>3.0) and Netty (4.1.3->5.0.0-alpha2), bringing all versions up to date and adding a React UI. By the end you’ll be familiar with the latest versions of these frameworks, know some “gotchas” to avoid, as well as understand how to integrate WebSockets into React.
Whirlpool: Microservices Using Netty And Kafka
Attention: This article was published over 10 years ago, and the information provided may be aged or outdated. While some topics are evergreen, technology moves fast, so please keep that in mind as you read the post.Introduction Update! Whirlpool now uses the “just released” Netty version 4.1.3. The great news about this is the upgrade required zero code changes, just …



