Microservice Pattern – Kubernetes Sidecar Pattern

Overview: Design Patterns are repeatable & reusable solutions for commonly occurring problems in the software/architectural design and they encourage the developers to design a highly cohesive and loosely coupled applications. Design patterns can be used in the infrastructure/deployment design as well in this modern microservices era! We are going to take a look one such […]

gRPC Spring Boot Integration

Overview: In this tutorial, I would like to show you the gRPC Spring Boot Integration for inter microservices communication. gRPC is a RPC framework implementation from google for client-server application development.  We have discussed gRPC, protobuf and their advantages for inter microservices communication in these articles before. If you have not read them, check them

gRPC Spring Boot IntegrationRead More »

gRPC – An Introduction Guide

Overview: In this tutorial, I would like to introduce you to the modern RPC framework from google called gRPC. It is one of the hottest technologies right now! Need For gRPC: Microservices are the popular way to design distributed systems. A big monolith application is broken down into multiple independent Microservices. These Microservices have few

gRPC – An Introduction GuideRead More »

Protobuf / Protocol Buffers – A Simple Introduction

Overview: In this tutorial, I would like to introduce you to the Protobuf / Protocol Buffers –  an interface definition language or interface description language (IDL)! IDL is a specification which describes software component’s API in a language-neutral way. Problems With JSON: In a distributed systems architecture, 1 microservice written in Java might want to

Protobuf / Protocol Buffers – A Simple IntroductionRead More »

Java Reactive Programming – SwitchOnFirst Usage

Overview: In this Project reactor series, Lets take a look at switchOnFirst and its usage. If you are new to reactive programming, take a look at these following articles in the given order. Reactive Programming – A Simple Introduction Reactive Programming – Creating Sequences – Flux vs Mono Reactive Programming – Publisher Types – Cold

Java Reactive Programming – SwitchOnFirst UsageRead More »

Kubernetes Init Container Pattern

Overview Design Patterns serve as reusable and replicable solutions for common challenges in software and architectural design. They advocate for the development of highly cohesive and loosely coupled applications. In today’s era of microservices, these patterns extend beyond traditional software design and find application in infrastructure and deployment. This article explores one such design pattern—the

Kubernetes Init Container PatternRead More »

Spring Cloud Stream Kafka Binder

Overview: In this tutorial, I would like to show you passing messages between services using Kafka Stream with Spring Cloud Stream Kafka Binder. Spring Cloud Stream: Spring Cloud Stream is a framework for creating message-driven Microservices and It provides a connectivity to the message brokers. Something like Spring Data, with abstraction, we can produce/process/consume data

Spring Cloud Stream Kafka BinderRead More »

Spring Boot CockroachDB Integration

Overview: Applications have become very complex & user’s expectations have changed over the years! Applications nowadays have to be resilient and fault tolerant. It is easy to scale in / out our applications when they are designed stateless. But what about Database? Database is supposed to be a stateful application! How can we scale out

Spring Boot CockroachDB IntegrationRead More »

MicroServices – How To Share DTO (Data Transfer Objects)

Overview: Over the years, MicroServices have become very popular. They are smaller, modular, easy to deploy and scale etc. However MicroService architectures do have some challenges. MicroServices have specific responsibilities. In order to complete an application workflow / a task, multiple MicroServices might have to work together. For example, an user would like to buy

MicroServices – How To Share DTO (Data Transfer Objects)Read More »