microservice is a collection of freely deployable services. It is an approach to building application software as a collection of independently deployable, compact, modular services
- Microservices are small, independent, and loosely coupled. A single small team of developers can write and maintain a service.
- Each service is a separate codebase, which can be managed by a small development team.
- Services can be deployed independently. A team can update an existing service without rebuilding and redeploying the entire application.
- Services are responsible for persisting their own data or external state. This differs from the traditional model, where a separate data layer handles data persistence.
- Services communicate with each other by using well-defined APIs. Internal implementation details of each service are hidden from other services.
- Supports polyglot programming. For example, services don’t need to share the same technology stack, libraries, or frameworks.
Herein, each service executes a different operation and interacts with one another via a simple, well-defined interface APi