In a distributed system we have no idea how other components would fail. Network issues could occur, components could fail or a router or a switch might be broken along the way. We don’t know what could go wrong.
Therefore each component in a distributed system is responsible for staying alive. As a software engineer, you are responsible to keep them alive.
🌟 To learn about Circuit Breaker design pattern, you should know about circuit breakers first.
🌟 If your house is powered by electricity, I’m sure your house has a circuit breaker. …
If you’re new to microservices, I recommend reading my prior article to learn about some basic microservices principles.
So, if you’re good with microservices, get ready to learn about microservice design patterns. In this article, I'm going to explain to you about Aggregation pattern.
The aggregator design pattern describes a service that gets a request, then makes several requests to different services, combines the results, and then responds to the initial request.
Aggregation Pattern has 03 different branches…
If you are new to microservices I suggest you go through my previous article to get to know some must-know concepts about microservices.
So, if you are good with microservices be prepared to learn about common mistakes and best practices for microservices.
Let’s talk about one of the Behavioral design patterns, the Chain of Responsibility pattern. The main goal of the Chain of Responsibility pattern is to have loose coupling in the application design. In this pattern, when the sender sends a request, that request will go through a chain of multiple objects and those objects will try to handle the request.
Think of the chairperson, secretary, and committee member. They have different types of permission due to their post. So, if you want to design a system based on their permission hierarchy, you can use this design pattern easily.
At least once in our life, we wish, if we had an undo button. But unfortunately, there is no undo. But you cant say the same about software engineering. Because we software engineers have the Memento design pattern which is a Behavioral pattern.
You can use the Memento pattern, whenever you want to get a previous state of an object. …
🔰 Microservices is the most trending topic in the last few years. In 2013 with Martin Fowler's concept about microservices and after several discussions about microservices, people started to think about some new architectural patterns for web applications.
🔰 That’s how microservices came into the picture. Now people are thinking about whether we need to go for this or not.
🔰 To understand whether we should go for microservices or not, we should compare microservice with the architecture we have now and what goal we are trying to achieve.
🔰 So, let’s discuss how we can migrate from web applications…
In this article, let's talk about some fundamentals of containers (Why we needed containers, what we can do with them).
Before we go directly into Docker and Containers, let's get to know about the history of cloud application architectures.
In the early days, applications were deployed in physical servers (same as today, but these were dedicated, physical servers/ physical hardware boxes).
Assume we have 3 different servers (a web server, application server, database server). In past, we had 3 physical hardware boxes for each server.
Here a list of some features that came with ES6. If you are looking for the full specification of ECMAScript 6 please visit from here.
That sure is a…
In some cases, multiple Constructors are needed in an application. This may be due to the user requirement. But the problem with multiple Constructors is that, if there are too many parameters, your code could get ugly( too complex). Look at the example below.
However, rather than implementing Constructors as above, some programmers use what’s known as a Telescoping Constructor.
So, here’s an example of how a Telescoping Constructor can be used. This is only one approach (In this example you can see the Constructor refer to the previous Constructor to assign values).
According to this approach, you can…
The prototype design pattern is all about avoiding creation. Did you know that creating a new object is very expensive? Therefore, what prototype design pattern does is, encourages to clone of an existing object
Consider the following scenario: we’re designing an application for air traffic control. You might want to display 100 or more than 1000 aeroplanes in such a system. …
Associate Software Engineer at Virtusa