Enhancing Web Apps with Server-Sent Events

The Age of Real-Time Apps <> While exploring and experimenting with Spring Web Flux, I stumbled upon an interesting feature called Server-Sent Events (SSE) (rather an HTML5 standard) . Although I haven’t had the opportunity to use SSE in my professional projects yet, it immediately caught my attention — both for how it works and the real-time advantages it offers. I was curious to understand where it fits as a component within a modern, real-time application architecture. Here’s a summary of…

Read MoreEnhancing Web Apps with Server-Sent Events

From Monolithic to Microservices: Embrace Spring WebFlux

Monolithic to Microservices Till the late 2000s, I had witnessed and worked extensively on monolithic applications — the era when a single server hosted the entire system. Some of the popular choices for these central servers were WebLogic, WebSphere, and JBoss. However, that age has long passed. Such architectural choices eventually failed to scale, lacked fault tolerance, and struggled to deliver high availability — paving the way for modern, distributed, and cloud-native architectures. In the modern world of microservices, cloud-native architectures,…

Read MoreFrom Monolithic to Microservices: Embrace Spring WebFlux

Reactive Programming In Modern Software Systems

From Threads to Reactive Streams Modern software systems are increasingly expected to deliver high responsiveness, scalability, and efficiency in environments that are distributed, data-intensive, and constantly connected. Traditional thread-based concurrency models, often become inadequate although they are foundations, as applications scale to handle millions of concurrent users or data streams. Java, one of the most widely adopted programming languages for backend and enterprise systems, has continuously evolved to meet these demands—from classic multithreading to asynchronous I/O and finally to reactive programming.…

Read MoreReactive Programming In Modern Software Systems

Kafka Streams

From Producers to Real-Time Topologies When you first step into the world of Apache Kafka, it feels like walking into a busy airport. Producers are like airplanes constantly landing with new passengers (data), Consumers are like buses waiting to pick up those passengers, and Kafka Streams is the control tower that orchestrates real-time decisions. In this blog, I’ll walk you through Kafka’s journey — starting from basic Consumers, touching on scalability and offsets, and then moving into the Kafka Streams API,…

Read MoreKafka Streams

Kafka Architecture

Kafka Internals: How Topics, Partitions, and Replicas Actually Work When you start building real-time streaming systems, you’ll inevitably hear “Kafka is the backbone of modern data architectures.” But what does that really mean under the hood? Let’s break it down step by step, so you not only know what Kafka does, but also why it was designed this way. First Things First: What Is Apache Kafka? At its simplest, Kafka is a distributed message broker. It sits in the middle of…

Read MoreKafka Architecture

The Journey from Big Data to Real-Time Streams

If you’re building modern systems, chances are you’ve already heard the buzzwords: Big Data, Hadoop, Kafka, Spark, Streaming. But have you ever wondered where this whole movement started and why stream processing even became a thing? The Pre-Google Era: When the Web Was Indexed by Hand Back in the early ’90s, the World Wide Web wasn’t searchable the way we know it today. In fact, until 1993, Sir Tim Berners-Lee maintained a hand-curated list of websites at CERN. No crawlers, no…

Read MoreThe Journey from Big Data to Real-Time Streams

The Rise of Kafka and Stream Processing – moving data

As a System Designer, let me take you through the journey of how data processing eventually gave birth to Kafka and real-time stream processing. In the early days, data processing was basic and primitive: capture the data, store it somewhere, and then process it later. I think big data is not the invention but a large data set of certain domain being accumulated over a period of time. When big data came along, the pattern didn’t really change. We just started…

Read MoreThe Rise of Kafka and Stream Processing – moving data

Virtual Threads Java 21: A Game Changer – Full Stack Dev

Till recently whenever we used to start a java thread , it will internally request operating system to start the OS thread . From that point of time OS is responsible to manage this thread just like any other OS thread. So we can easily say one Java thread has one to one mapping to OS thread. We call these Java threads as Platform threads are heavy in nature and also tied with the stack space in the JVM per thread.…

Read MoreVirtual Threads Java 21: A Game Changer – Full Stack Dev