What does a typical microservice architecture look like?

What does a typical Micro-Services architecture look like?


  • Load Balancer: This distributes incoming traffic across multiple backend services.
  • CDN (Content Delivery Network): CDN is a group of geographically distributed servers that hold static content for faster delivery. The clients look for content in CDN first, then progress to backend services.
  • API Gateway: This handles incoming requests and routes them to the relevant services. It talks to the identity provider and service discovery.
  • Identity Provider: This handles authentication and authorization for users.
  • Service Registry & Discovery: Microservice registration and discovery happen in this component, and the API gateway looks for relevant services in this component to talk to.
  • Management: This component is responsible for monitoring the services.


Micro-Services: Micro-services are designed and deployed in different domains. Each domain has its own database. The API gateway talks to the Micro-Services via REST API or other protocols, and the Micro-Services within the same domain talk to each other using RPC (Remote Procedure Call).

Benefits of Micro-Services:
- They can be quickly designed, deployed, and horizontally scaled.
- Each domain can be independently maintained by a dedicated team.
- Business requirements can be customized in each domain and better supported, as a result.

Over to you: 

1). What are the drawbacks of Micro-Services architecture?
2). Have you seen a monolithic system being transformed into Micro-Services architecture? How long does it take?