The microservice architecture (MSA) pattern builds software applications using small, autonomous, independently versioned, self-contained services. These services use well-defined interfaces and communicate with each other over standard, lightweight protocols.
Interaction with a microservice takes place through a well-defined interface. A microservice should be a black box to the consumers of the service, hiding its implementation and complexity. Each microservice focuses on doing one thing well and they can work together with other microservices in order to accomplish tasks that are more complex.
A microservice architecture is particularly well-suited for large and/or complex software systems. In contrast with the monolithic architecture, applications built using a microservice architecture handle complexity by splitting the application into smaller...