Microservice

Microservices is more about applying a certain number of principles and architectural patterns than it is about architecture. Each microservice lives independently, but on the other hand, also all rely on each other. All microservices in a project get deployed in production at their own pace, on-premise, on the cloud, independently, living side by side.


There are various components in a microservices architecture apart from the microservices themselves.

Management : Maintains the nodes for the service.

Identity Provider : Manages the identity information and provides authentication services within a distributed network.

Service Discovery : Keeps track of services and service addresses and endpoints.

API Gateway : Serves as client’s entry point. The single point of contact from the client which, in turn, returns responses from underlying microservices and sometimes an aggregated response from multiple underlying microservices.

CDN : A content delivery network to serve static resources. For example, pages and web content in a distributed network.

Static Content : The static resources like pages and web content.


Microservices are deployed independently with their own database per service so the underlying microservices look as shown in the following picture:


A microservice is an approach to create small services, each running in their own space that can communicate via messaging. These are independent services directly calling their own database.

The following is the diagrammatic representation of microservices architecture.