Microservice Based Architecture (MSA) | Service-Oriented Architecture (SOA) |
---|
Microservices uses lightweight protocols such as REST, and HTTP, etc. | SOA supports multi-message protocols. |
It focuses on decoupling. | It focuses on application service reusability. |
It uses a simple messaging system for communication. | It uses Enterprise Service Bus (ESB) for communication. |
Microservices follows “share as little as possible” architecture approach. | SOA follows “share as much as possible architecture” approach. |
Microservices are much better in fault tolerance in comparison to SOA. | SOA is not better in fault tolerance in comparison to MSA. |
Each microservice have an independent database. | SOA services share the whole data storage. |
MSA used modern relational databases. | SOA used traditional relational databases. |
MSA tries to minimize sharing through bounded context (the coupling of components and its data as a single unit with minimal dependencies). | SOA enhances component sharing. |
It is better suited for the smaller and well portioned, web-based system. | It is better for a large and complex business application environment. |