DSM — Checkout Service Coupling
Sixteen services of a commerce platform taken in the alphabetical order the service registry lists them, where partitioning turns 23 backwards call dependencies into 4 and exposes a five-service checkout core — checkout, orders, inventory, fraud scoring, payments — that no deployment order can untangle.
Make it your own.
title "Commerce platform — service coupling"
mode component
convention ir-fad
# Declared in the order the service registry lists them, which is
# alphabetical — a perfectly normal starting point and a terrible sequence.
components: Analytics sink, Cart, Catalogue, Checkout, Config service, Feature flags
components: Fraud scoring, Fulfilment, Identity, Inventory, Notifications, Orders
components: Payments, Pricing engine, Recommendations, Search index
Config service <- Identity
Feature flags <- Config service(2)
Catalogue <- Config service, Identity
Pricing engine <- Catalogue(3), Feature flags(2)
Inventory <- Catalogue(2), Orders(3)
Cart <- Catalogue(2), Pricing engine(3), Identity, Feature flags
Checkout <- Cart(3), Pricing engine(2), Identity(2), Inventory(2)
Payments <- Checkout(3), Fraud scoring(2), Identity
Fraud scoring <- Identity(2), Orders(2), Payments(2)
Orders <- Checkout(3), Payments(3)
Fulfilment <- Orders(3), Inventory(2)
Notifications <- Orders(2), Fulfilment(2), Identity
Search index <- Catalogue(3), Inventory, Recommendations(2)
Recommendations <- Search index(2), Orders(2), Catalogue
Analytics sink <- Orders, Payments, Cart, Search index