In Proxy pattern, all the requests are transferred transparently to a service that invokes a different microservice. Here, the actual consumer is not aware of the service that is being called internally.

✷ Circuit Breaker is more than just a design pattern. It is very close to a sustainable pattern.

✷Circuit Breaker pattern helps you to keep your service without dying or keeping good health of your service. (Fail Fast)

Why this is important ❗️❓

In a traditional system, we have no idea on how other services would break. So each service is responsible for staying alive. In other way, developers are responsible for keeping the services alive.

This is not just applicable to microservices, but this is very critical in microservices since we have multiple services that behave in different ways that are maintained by different…



Through this article, we will be discussing best practices that should be followed when implementing Microservice Architecture. The topics that we will be discussing are as follows.

  1. Design
  2. Hard Coded Values
  3. Logging
  4. Versioning
  5. Authorization and Authentication Mechanism
  6. Dependency
  7. Make Executable Contracts
  8. Fault Tolerance
  9. Documentation

1. Design

In 2013, along with Martin Fowler’s book and several discussions on Microservices, people started thinking about new architectural views for web applications. Let us focus on how we can migrate from web applications to microservices.

We use Monolithic applications. Monolithic architecture consists of a single executable file for the entire application. This can also be a WAR, EAR or some other archive. The ground rule of monolithic applications is that the entire application is packed into one file.

Disadvantages of Monolithic Applications

📍 If you want to make a single change (such as UI/UI color/ simple business logic), you may need to zip entire…

Advancement of Application Architecture throughout the years

An application architecture can be referred to as a map that explains how the software applications of an organization are congregated together and how those applications interact with each other in order to meet business or user requirements.


What is JavaScript?

❉ JavaScript can be introduced as a multi-paradigm and dynamic language which was initially created with the purpose of making web pages alive.

❉ The syntactic structure of JavaScript is mostly based on Java and C languages.

❉ The programs written using JavaScript are called ‘Scripts’ and do not require any special compilation to run as they automatically executes when the page loads.

❉ JavaScript is a quite popular language which did not evolve much. But recently, when the Mean Stack came out, MongoDB, Express, Angular, Node and JavaScript had reasonable changes in its life cycle.

❉ It has…



❉ Memento is one of the behavioral design patterns that is usually utilized for saving and restoring the state of an object into a previous state without violating encapsulation.

❉ It is also referred to as Snapshot pattern or Token.

❉ Memento pattern is used to carry out the functionality of undo/ rollback/revert operation. This will be very much useful when errors and failures occur.

What is Chain of Responsibility?

Chain of Responsibility is one of the behavioral design patterns that creates a chain of receiver objects upon a request.

❉ It decouples the sender of the request and the receiver in accordance with the request type.

❉ Once a request is received, each handler decides whether to undertake the request or to pass it into another object in the chain to process.

❉ One receiver has the reference to another receiver.

❉ Receiver can perform its job without knowing who sent the message, and also the sender can too perform its job without knowing who is going to…



❉ The builder pattern is a creational design pattern that permits building complex objects in a step by step manner until the final step returns the object.

❉ The builder does not depend on any other object.

❉ A director object which only knows what type of object it needs to create will be used to control the construction.

❉ The object construction process must be generic, therefore it will be able to use to instantiate various representations of the same object.

❉ Sometimes, we need to use multiple constructors in our programs.

🎇 Let us consider such a…

Hansini Rupasinghe

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store