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