Microservice Pattern – Competing Consumers Pattern Implementation With Kubernetes

Overview: In the distributed systems, we enable loose coupling between systems by passing messages via a service bus / message queue. We had implemented that in one of the architectural pattern series here. Sometimes, when the message throughout is extremely high – that is number of the incoming messages per unit time is greater than […]

Priority Queue Pattern With Spring Boot

Overview: Let’s consider a distributed application in which requests are processed as and when they arrive. Let’s also consider that these requests are time-consuming tasks triggered by user actions on our application. As tasks will take time to process, it is better to get these requests queued, we could process them sequentially and notify the

Priority Queue Pattern With Spring BootRead More »

reactor hot publisher

Reactor Repeat vs Retry

Overview: In the reactive programming series with project reactor, I would like to show you the difference between Reactor Repeat vs Reactor Retry. If you are new to reactive programming or project reactor, take a look at this entire series to get a good idea on that. Need For Reactor Repeat & Retry: As we

Reactor Repeat vs RetryRead More »

Kubernetes Adapter Pattern

Overview: In this tutorial, I would like to demonstrate the use of Kubernetes Adapter Pattern with a simple example. Kubernetes Adapter Pattern: 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

Kubernetes Adapter PatternRead More »

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 »

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 »

Cucumber With Spring Boot – Brand New Udemy Course

Dear Readers, Please check this out – a new course on cucumber and Spring Boot on Udemy.  Use this link – to get special discount.  10 hours course which you make feel very comfortable with Spring Boot & Cucumber.   What you will learn: Automatic dependency injection Manage the WebDriver instance Manage Page objects / fragments Executing tests in multiple test

Cucumber With Spring Boot – Brand New Udemy CourseRead 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 »