Reactive Architecture

Learning about Reactive Messaging Patterns

Reading Time: 4 minutes Overview According to the Reactive Manifesto, a critical element in any Reactive system is that it is message-driven. But what does it mean to be message-driven? Message-driven systems are those that communicate primarily through asynchronous and non-blocking messages. Messages enable us to build systems that are both resilient, and elastic, and therefore responsive under a variety of situations. Message Driven Architecture We have various ways Continue Reading

Building Scalable Systems

Reading Time: 7 minutes Building a Reactive System is all about the balance between consistency and availability and the consequences of picking one over the other. This article mainly focuses on consistency and availability and how they impact the scalability of a system. What is Scalability, Consistency and Availability? A system is scalable if it can meet the increase in demand while remaining responsive.It is consistent if all the Continue Reading

Diving Into Reactive Microservices

Reading Time: 4 minutes It would be beneficial if you understand the concepts of Reactive Architecture before diving into Reactive Microservices. You can read about Reactive Architecture here: Leaning Towards Reactive Architecture In this article we will cover transition from Monoliths to Service Oriented Architecture to Reactive Microservices by applying isolation techniques to the application. What are Monoliths? To start explaining the microservices it’s useful to compare it to Continue Reading

Message Driven Architecture

Reading Time: 2 minutes Here we will discuss the different types of messaging patterns used in Reactive Architecture. Evolution of Communication Since the real world is a perfect example of the natural distributed system, we can learn from it and apply its principles to build Reactive Systems. In the real world face to face conversation is synchronous communication. Over time letters have been introduced in the real world and Continue Reading

Leaning Towards Reactive Architecture

Reading Time: 3 minutes Why Reactive Architecture? Reactive Architecture aims to provide software that remains responsive in all situations. Reactive Systems build user confidence by ensuring that the application is available whenever the users need it in all conditions. What is the Goal of Reactive Architecture? Be responsive to interactions with its users Handle failure and remain available during outages Strive under varying load conditions Be able to send, Continue Reading

Lagom Read side and Write side

Reading Time: 3 minutes Lagom is a framework that is used for building reactive microservices. It provides support for building read side and write side views of the data so that querying a microservice becomes easier. In this blog, I’ll discuss about how having a read side view is beneficial and also important in microservices. Before reading this blog I’ll recommend you to have some knowledge about Event Sourcing Continue Reading

Reactive java combining Mono(s)

Reactive Java: combining Mono(s)

Reading Time: 4 minutes Reactive programming has been a good to go approach with the microservices architecture. Here we will see how it can be achieved using spring web flux MONO Api and what could go wrong if we do not consider the basics of the reactive environment.

Spring Interceptors: How to use them correctly?

Reading Time: 2 minutes Hi folks! we’ll focus on understanding the Spring Interceptors and how to use it correctly. What is Spring interceptors When a request is sent to spring controller, it will have to pass through Spring Interceptors (0 or more) before being processed by Controller. Spring Interceptor is only applied to requests that are sending to a Controller. Spring Interceptor – HandlerInterceptor preHandle(): This method is used to intercept the request before Continue Reading

The Platform Strategy – ignore it at your own peril

Reading Time: 4 minutes Introduction You are developing a product trying to help your core business grow through technology. The easiest way to start is to design what you need and start coding it as a monolithic blob. The product becomes successful and you start seeing the impact that it has made on your business. The next thought is to make the product commercially available so that other businesses Continue Reading

Reactive Java: Handling Errors in Reactive Streams

Reading Time: 4 minutes  If errors and failures are passed to the right component, which can handle them as notifications, the application can become more fault-tolerant or resilient. So if we build our system to be event-driven, we can more easily achieve scalability and failure tolerance, and a scalable, decoupled, and error-proof application is fast and responsive to users.” Nickolay Tsvetinov Reactive in layman’s language says how quickly the client Continue Reading

Mocking The Right Way

Reading Time: 3 minutes Mockito is a fun way to perform unit tests, but it’s true potential can only be realised if the underlying layers are designed in such a way that there is no interaction with the internal logic of other components of the application.