Wednesday, March 4, 2015

Improve performance for an aggregate service in micro services architecture

This session was about brainstorming for possible options on how this can be achieved.

Alternatives are following:
1) ViewModel database - aggregate database should have its own copy of data
2) Merge services together & denormalize underlying data - maybe nothing else uses the underlying services and they can be merged 
3) Parallelisation - grab source data for aggregation in parallel (this option only applies if the aggregation is parallelizable)
     A) in proc (TPL, async-await, etc)
     B) queues
4) Caching - cache on different levels 
5) Db performance tuning - we sometimes forget the trivial solution to add additional indexing on tables involved

Tooling suggestion:
- zipkin: to trace where time is spent

No comments:

Post a Comment