Cloud-Native Applications in Java
上QQ阅读APP看书,第一时间看更新

Differences between microservices and service-oriented architecture (SOA)

Here are the differences between microservices and service-oriented architecture (SOA):

  • A service executes the entire business unit of work. For example, if a service requires customer or product data, it is preferable to store it within the service data stores. Typically, there is no need to go to a customer service for getting a customer record through ESB.
  • A service has its own private database or a database that is shared only in its bounded context and can store the information required to service the business unit of work.
  • A service is a smart endpoint and typically exposes a REST interface with a contract definition in Swagger or similar repository. Some of the services that are consumed by other divisions or clients are exposed through an API platform.