Choreography Saga Pattern

Choreography Saga Pattern With Spring Boot

Overview: In this tutorial, I would like to show you a simple implementation of Choreography Saga Pattern with Spring Boot. Over the years, Microservices have become very popular. Microservices are distributed systems. They are smaller, modular, easy to deploy and scale etc. Developing a single Microservice application might be interesting! But handling a business transaction […]

spring webflux aggregation

Spring WebFlux Aggregation

Overview: In this tutorial, Let’s develop a simple application to demonstrate Spring WebFlux Aggregation (aka Gateway Aggregation) to send requests to multiple Microservices and gather responses from them to aggregate into a single response. Spring WebFlux Aggregation: In a Microservice architecture, we will have N number of services and each service has its own responsibilities

Spring WebFlux AggregationRead More »

spring webflux websocket

Spring WebFlux WebSocket

Overview: In this tutorial, I would like to show you Spring WebFlux WebSocket to enable a real-time communication between a client and the server. Spring WebFlux WebSocket: Spring WebFlux is a non-blocking web stack to handle multiple concurrent requests with minimal number of threads and scale with fewer hardware resources. WebSocket is a standardized way

Spring WebFlux WebSocketRead More »

orchestration saga pattern

Orchestration Saga Pattern With Spring Boot

Overview: In this tutorial, I would like to show you a simple implementation of Orchestration Saga Pattern with Spring Boot. Over the years, Microservices have become very popular. Microservices are distributed systems. They are smaller, modular, easy to deploy and scale etc. Developing a single Microservice application might be interesting! But handling a business transaction which

Orchestration Saga Pattern With Spring BootRead More »

reactor hot publisher

Flux Expand vs ExpandDeep with Examples

Overview: In this tutorial, I would like to show the difference between Flux Expand vs ExpandDeep and simple use cases.  If you are new to project reactor, take a look at all these articles here first for better understanding. Flux Expand vs ExpandDeep: In reactive programming, we have subscribers (downstream) and publishers (upstream).  Subscribers request for data. Publishers respond to

Flux Expand vs ExpandDeep with ExamplesRead More »

spring data r2dbc transaction

Spring Data R2DBC Transaction

Overview: In this tutorial, I would like to show you how we could achieve DB transaction with Spring Data R2DBC Transaction operator & also with @Transactional. Transaction: A database transaction is a unit of work, which could be made of up of 1 or more SQL statements, which is either completed or rolled back. For

Spring Data R2DBC TransactionRead More »

redis pubsub spring boot

Redis PubSub With Spring Boot

Overview: In this article, I would like to show Redis PubSub with Spring Boot which can be used to broadcast messages across multiple services in a Microservices architecture. I assume you have basic knowledge on Redis + Spring Boot integration. If you are new to Spring Boot Redis, check the below article. Spring WebFlux Redis

Redis PubSub With Spring BootRead More »

reactive feign

Spring WebClient With Feign

Overview: In this tutorial, I would like to show you how we can use Spring WebClient with Feign to make HTTP calls in reactive manner. Spring WebClient with Feign: Spring WebClient is a non-blocking reactive client to make HTTP requests. Feign is a library which helps us to create declarative REST clients easily with annotations and

Spring WebClient With FeignRead More »

r2dbc query by example

Spring Data R2DBC Query By Example

Overview: In this tutorial, I would like to show you the R2DBC Query By Example API with Spring WebFlux and how we can use this to search for records without exposing multiple methods in our Repository object. Lets first see what it is exactly before diving into coding. Query By Example: Query By Example (QBE)

Spring Data R2DBC Query By ExampleRead More »

r2dbc pagination

Spring Data R2DBC Pagination

Overview: In this tutorial, I would like to show you how we could achieve pagination for improved navigation of our application when we use Spring Reactive Data (R2DBC Pagination) with Spring WebFlux. Spring Data R2DBC: R2DBC stands for Reactive Relational DB connectivity. Something like JPA (Java Persistence API), R2DBC is a specification for reactive drivers for relational DBs.

Spring Data R2DBC PaginationRead More »