Gateway fan-out with shared logging
A gateway that calls four services, each of which writes to one log store. With "sharedTrunks": true the calls to Catalog, Search and Cart leave the gateway on one line that branches, and the four dashed log writes reach the store on one, with a dot at every branch. Only connections that read the same share a line: the call to Orders lies on the main path and the token check has a label, so both keep their own. Every connection is still drawn end to end with its tooltip and listed in the description and the table. Illustrative values.
Gateway fan-out with shared logging
examples/service-fan-out.json{
"schemaVersion": 1,
"type": "architecture",
"title": "Gateway fan-out with shared logging",
"source": "Platform handbook, request path",
"width": 960,
"height": 640,
"architecture": {
"boundaries": [
{
"id": "cluster",
"label": "Cluster"
},
{
"id": "services",
"label": "Services",
"in": "cluster"
},
{
"id": "ops",
"label": "Operations"
}
],
"components": [
{
"id": "client",
"label": "Client",
"kind": "frontend"
},
{
"id": "gateway",
"label": "Gateway",
"sublabel": "routes requests",
"in": "cluster"
},
{
"id": "auth",
"label": "Sign-in",
"kind": "security",
"in": "cluster"
},
{
"id": "catalog",
"label": "Catalog",
"in": "services"
},
{
"id": "search",
"label": "Search",
"in": "services"
},
{
"id": "cart",
"label": "Cart",
"in": "services"
},
{
"id": "orders",
"label": "Orders",
"in": "services"
},
{
"id": "logs",
"label": "Log store",
"kind": "storage",
"in": "ops"
}
],
"connections": [
{
"from": "client",
"to": "gateway",
"label": "calls",
"technology": "HTTPS"
},
{
"from": "gateway",
"to": "auth",
"label": "checks token"
},
{
"from": "gateway",
"to": "catalog"
},
{
"from": "gateway",
"to": "search"
},
{
"from": "gateway",
"to": "cart"
},
{
"from": "gateway",
"to": "orders"
},
{
"from": "catalog",
"to": "logs",
"dash": "dashed"
},
{
"from": "search",
"to": "logs",
"dash": "dashed"
},
{
"from": "cart",
"to": "logs",
"dash": "dashed"
},
{
"from": "orders",
"to": "logs",
"dash": "dashed"
}
],
"mainPath": [
"client",
"gateway",
"orders"
],
"sharedTrunks": true
}
}Focus
Source: Platform handbook, request path
Show chart data
| Component | Kind | Boundary | Connects to |
|---|---|---|---|
| Client | frontend | Gateway (calls, via HTTPS) | |
| Gateway | service | Cluster | Sign-in (checks token), Catalog, Search, Cart, Orders |
| Sign-in | security | Cluster | |
| Catalog | service | Cluster › Services | Log store |
| Search | service | Cluster › Services | Log store |
| Cart | service | Cluster › Services | Log store |
| Orders | service | Cluster › Services | Log store |
| Log store | storage | Operations |