Saturday, July 12, 2025

Building bidirectional Streaming gRPC : A Real-World chat Example

A real-world example of bidirectional streaming using gRPC in a Spring Boot application with a REST wrapper for client interaction.

🔧 Technologies Used

  • Java 11
  • Spring Boot 2.7.x
  • gRPC (1.54.0)
  • Protocol Buffers (proto3)
  • Maven
  • WebFlux + Server-Sent Events (SSE) for REST integration

Thursday, July 3, 2025

Building Client-Side Streaming gRPC : A Real-World File Upload Example

This project demonstrates client-side streaming using gRPC with a Spring Boot application. It includes:

  • A gRPC server that receives file chunks via stream and reconstructs them.

  • A REST client that accepts multipart/form-data uploads and streams the file to the server over gRPC.

🔧 Technologies Used

  • Java 11
  • Spring Boot 2.7.x
  • gRPC (1.54.0)
  • Protocol Buffers (proto3)
  • Maven
  • WebFlux + Server-Sent Events (SSE) for REST integration

📡 Mastering Advanced gRPC Communication Patterns

Modern distributed systems demand high-performance, language-agnostic communication. gRPC—Google’s high-speed RPC framework—has become a core enabler of service-to-service communication in microservices architectures. While Unary RPCs serve simple request-response models, gRPC shines in more complex, real-time communication through streaming patterns.


In this post, we deep dive into four powerful gRPC communication patterns:

  • Unary RPC

  • Server Streaming RPC

  • Client Streaming RPC

  • Bidirectional Streaming RPC

Building a Server-Side Streaming gRPC Service in Spring Boot: A Stock Ticker Demo

🧠What is gRPC and Why Use It?

This project demonstrates how to implement server-side streaming using gRPC in a Spring Boot application with Java 11. The use case simulates a stock ticker that streams real-time stock prices to the client.

🔧 Technologies Used

  • Java 11
  • Spring Boot 2.7.x
  • gRPC (1.54.0)
  • Protocol Buffers (proto3)
  • Maven
  • WebFlux + Server-Sent Events (SSE) for REST integration

Wednesday, July 2, 2025

Getting Started with gRPC and Spring Boot — A Beginner’s Guide

As microservices become the backbone of modern backend architecture, efficient communication between services becomes more critical. In this post, we’ll explore how gRPC fits into the picture and how you can get started with it using Spring Boot.

Wednesday, June 4, 2025

Unlocking Spring Boot Performance: A Guide to Effective JVM Tuning

🧠 Why JVM Settings Matter

When we think about speeding up an application, we often think about optimizing code, changing architecture, or rewriting services. But sometimes the real bottleneck is much deeper — in how the Java Virtual Machine (JVM) manages memory, garbage collection, and system resources.

Spring Boot apps run on the JVM. That means by tweaking the JVM's configuration, you can unlock massive performance improvements — without changing your code.

Spring Boot apps run inside the Java Virtual Machine (JVM). The JVM is responsible for managing:

  • Memory allocation

  • Garbage collection (GC)

  • Thread scheduling

  • JIT (Just-In-Time) compilation

  • Native I/O handling

  • Most developers never touch JVM flags, but the default settings are designed for general-purpose use — not high-performance production environments.
  • Tuning the JVM is like customizing your engine to your terrain. For server applications, especially ones running in Docker or Kubernetes, JVM tuning can unleash massive improvements in throughput, latency, and reliability.

Friday, April 12, 2024

Navigating the Service Mesh Landscape: A Journey with Istio 🚀

A service mesh is a crucial component in modern application architectures. It acts as a dedicated infrastructure layer responsible for managing communication between microservices within an application.

You may also like

Kubernetes Microservices
Python AI/ML
Spring Framework Spring Boot
Core Java Java Coding Question
Maven AWS