MSA (Microservice architecture), or simply microservices, is a kind of methodology to develop service by divide and conquer - a distinctive method of developing software systems that tries to focus on building single-function modules with well-defined interfaces and operations. The trend has grown popular in recent years as Enterprises look to become more Agile and move towards a DevOps and continuous testing. Microservices can help create scalable, testable software that can be delivered weekly, not yearly.
MSA has following characteristics
- Multiple Components
- Built for Business
- Simple Routing
- Decentralized governance - low dependency
- Failure Resistant - requiring monitoring its neighboring services to function while it bows out.
- Evolutionary design
Below is a simple reference based on MSA.