Reactive Architecture

person using silver macbook pro

Reactive vs Imperative Programming

Reading Time: 4 minutes Introduction A few years ago Reactive Programming was introduced as an improvement upon the imperative programming paradigm. It provides some important advantages over the imperative way by relying on asynchronous programming. These days we see a lot of enterprise applications use the reactive way but still, there are ones using the imperative approach. In this blog, we will try to explore what are the differences Continue Reading

Reactive System: A Better Architecture for Modern Software

Reading Time: 3 minutes Today, most real-time software are built as a reactive system. However, they have evolved over time. A few years back, software were way different from what they are today. They were different not only in terms of features and functionalities they offer but also in the way they were designed. For instance, earlier software dealt with limited data which was mostly at rest- meaning it Continue Reading

Akka Streams | Three Basic Components

Reading Time: 3 minutes Akka, a free open source toolkit simplifying the construction of concurrent and distributed system/application. We have already deal with Akka Actors where we learnt about the Akka Actors and their Behaviors. But Actors can be seen dealing with with Sequence of Data where they send or receive series of messages. So, In this blog we discuss Akka Stream in bit detail. What is Akka Streams Continue Reading

Suitable Tech stack for Reactive Fintech

Reading Time: 7 minutes The FinTech industry is growing very rapidly and becoming more vital. This industry has also become an appealing alternative to traditional banking. With the rise of the FinTech industry, there is always a battle going around the use of technology that fits the best. Those technologies are always used and promoted which not only suit the business needs, but are also easy to maintain, easy Continue Reading

Build & design highly available and resilient Fintech products

Reading Time: 7 minutes FinTech – by the definition from Oxford Dictionary, it means computer programs and other technology used to provide banking and financial services. When it comes to using Financial Services, every user of that service would want it to be available 24/7 i.e. no downtime and 100% user responsive. And this means that FinTech products, by nature, should always be available and user-responsive. But wait, how Continue Reading

Distributed Messaging Patterns | Reactive Architecture

Reading Time: 3 minutes In this blog we are gonna learn about messaging and patterns of messaging. We are gonna learn how asynchronous messaging works. Asynchronous messaging provides us a lot of flexibility in our system. As an example, we can take large portions of our system offline and have our users not notice any difference in functionality. We can also enhance scalability of our system. For example, if Continue Reading

Backpressure in Akka Stream

Reading Time: 4 minutes “Reactive Streams” — whenever we come across these words, there are two things that come to our mind. The first is asynchronous stream processing, and the second is non-blocking backpressure. In this blog, we are going to learn about the latter part. Understanding Backpressure Very simply put, the idea behind backpressure is the ability to say “hey slow down!”. Let’s start with an example that Continue Reading

Introduction to Domain Driven Design (DDD)

Reading Time: 3 minutes What is Domain? To define domain-driven-design we should first establish what we mean by domain. The common dictionary definition of the domain is a sphere of knowledge, influence, or activity. In the context of software engineering, it refers to the subject area on which the application is intended to apply. For example, if you are building an E-commerce software, in this case, sales will be Continue Reading

CAP Theorem | Building Scalable Systems | Reactive Architecture

Reading Time: 3 minutes CAP Theorem, a Distributed System must account for this theorem which means when two or more systems try to connect with each other they need to account this Theorem. In this blog, we are gonna discuss about this theorem and how we have to sacrifice any factor while communicating with another system. Apart from this we’ll also discuss some other related terminologies and theorems. CAP Continue Reading

Reactive Architecture: Introduction to Reactive Systems

Reading Time: 2 minutes In this post, we are going to talk about reactive system what exactly we mean by reactive systems and how the software industry or application have evolved over a period of time. So today we want a highly reactive system. This post is about understanding the term Reactive System. What exactly we mean by such a system. What is a Reactive System? A system that Continue Reading

Performance v/s Scalability in Reactive Microservices

Reading Time: 2 minutes Performance and Scalability are the two main factors that come into account when creating a Distributed System. When people talk about these two terminologies they very often use these two words synonymously. However, they mean different things. As there’s a lot of misunderstanding so in this blog we’ll discuss Performance and Scalability, their differences and relation if any. Performance – Performance is all about optimizing Continue Reading

Event Sourcing – Does it make sense for your business?

Reading Time: 5 minutes You would always get a ton of literature on Event Sourcing and CQRS. The key question is WHEN do you use it? Under what circumstances? Is your problem really in need of ES? I would not go into the details of what Event Sourcing and CQRS is. The industry stalwarts have covered that in adequate detail. This post delves into battle-tested scenarios on where we Continue Reading

Rebalancing in Akka Cluster Sharding

Reading Time: 4 minutes In this blog we will be discussing about one of the important feature of Akka Cluster Sharding which is Rebalancing. Before moving forward make sure you have some basic knowledge on Akka Cluster Sharding, if not then please read Introduction to Akka Cluster Sharding and Implementing Akka Cluster Sharding. Before directly diving into this amazing feature which akka sharding provides, lets first understand the need Continue Reading