Tuesday, December 31, 2019

MSA Data mgmt patterns - API Composition


API Composition

You have applied the Microservices architecture pattern and the Database per service pattern. As a result, it is no longer straightforward to implement queries that join data from multiple services.
This pattern is a direct solution to the problem of implementing complex queries in a microservices architecture.
In this pattern, an API Composer invokes other microservices in the required order. And after fetching the results it performs an in-memory join of the data before providing it to the consumer.
As evident, the downside to this pattern is the use of inefficient in-memory joins on potentially large datasets.

Problem

How to implement queries in a microservice architecture?

Solution

Implement a query by defining an API Composer, which invoking the services that own the data and performs an in-memory join of the results.

Example

An API Gateway often does API composition.

This pattern has the following benefits:
  • It a simple way to query data in a microservice architecture
This pattern has the following drawbacks:
  • Some queries would result in inefficient, in-memory joins of large datasets.

No comments:

Post a Comment