A note from “Microservices AntiPatterns and Pitfalls”

Comparison of different approaches on how to build reporting service over distributed system.

 

Database pull model
Database pull model: reporting system has direct access to service database. Data context is not bounded to specific service.
HTTP pull model
HTTP pull model: reporting system has access only to API of the service. Data context is encapsulated, but speed of report generation is degrading quickly with growth of services amount.
Batch pull model
Batch pull model: data context is not bounded, reports are generated over long period of times.
Event-based push model
Event-based push model: solves bounded context problem and performance issues, although adds complexity to services – each of them has to know how and which data to push
Model comparison
Model comparison