home
post
application decomposition patterns in microservices

Application decomposition patterns in microservices

Nov 12, 2023
1 min
4 charts
  • Page based decomposition - each microservice has ts own dedicated page. This pattern enables vertical slice of an application. ✔️ You can deploy your UI and backend for a vertical slice of an application independently from other microservices. ❌ Has limited capabilities creating complex UI.
  • Widget based decomposition - each widget can communicate only with it's own microservice. ✔️ You can deploy your UI and backend for a vertical slice of an application independently from other microservices. ❌ Adds complexity in managing communication between widgets.
  • Central Aggregating gateway - gateway (with transformation, filtering, aggregation) as a single entrypoint to the microservices. Good fit when you have a separate UI teams and microservices teams. Creates horizontal layers of an application (n-tier architecture). ✔️ Simplifies UI development. ❌ Creates coupling on the gateway side.
  • Backend For Frontend (aka BFF) - same as CAG per client type. This pattern fits, when you have multiple client types (web, ios, android, 3rd party API). ✔️ It solves the general purpose API problem and enables teams to develop independently. ❌ It creates coupling on the gateway layer, and introduces code duplication.

patterns by Sam Newman from the book Microservices 2nd edition

Related Posts
© 2025 buzzchart.info