Tech Twitter
Saturday, July 12, 2025
Building bidirectional Streaming gRPC : A Real-World chat Example
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.
📡 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.
- 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
-
As microservices become the backbone of modern backend architecture, efficient communication between services becomes more critical. In this...
-
🧠 Why JVM Settings Matter When we think about speeding up an application, we often think about optimizing code, changing architecture, or ...
-
Integrating Azure Active Directory (Azure AD) with a Java and Spring Boot application for secure authentication and a...