chartletv0.21.0chartlet.casoon.de

← All examples

Requests per second between the services of a web shop

Requests per second between the services of a shop. Every connection has a weight; its line is as much stronger as it carries more, from 1 px for nothing to 5 px for the heaviest, while the arrowheads keep their size. The description names the heaviest connection and the table gives every weight. The main path is given by its ends only, { "from": "web", "to": "pay" }, and stays in the accent color. Illustrative values.

Requests per second between the services of a web shop

examples/request-volume.json
{
  "schemaVersion": 1,
  "type": "architecture",
  "title": "Requests per second between the services of a web shop",
  "source": "Load test, peak hour",
  "width": 820,
  "height": 580,
  "architecture": {
    "boundaries": [
      {
        "id": "cluster",
        "label": "Cluster"
      }
    ],
    "components": [
      {
        "id": "web",
        "label": "Web shop",
        "kind": "frontend"
      },
      {
        "id": "gateway",
        "label": "API gateway",
        "in": "cluster"
      },
      {
        "id": "catalog",
        "label": "Catalog",
        "in": "cluster"
      },
      {
        "id": "cart",
        "label": "Cart",
        "in": "cluster"
      },
      {
        "id": "checkout",
        "label": "Checkout",
        "in": "cluster"
      },
      {
        "id": "search",
        "label": "Search index",
        "kind": "database",
        "in": "cluster"
      },
      {
        "id": "db",
        "label": "Orders",
        "kind": "database",
        "in": "cluster"
      },
      {
        "id": "pay",
        "label": "Payment provider",
        "kind": "external"
      }
    ],
    "connections": [
      {
        "from": "web",
        "to": "gateway",
        "label": "1,200/s",
        "weight": 1200
      },
      {
        "from": "gateway",
        "to": "catalog",
        "label": "820/s",
        "weight": 820
      },
      {
        "from": "gateway",
        "to": "cart",
        "label": "310/s",
        "weight": 310
      },
      {
        "from": "gateway",
        "to": "checkout",
        "label": "70/s",
        "weight": 70
      },
      {
        "from": "catalog",
        "to": "search",
        "label": "640/s",
        "weight": 640
      },
      {
        "from": "cart",
        "to": "db",
        "label": "150/s",
        "weight": 150
      },
      {
        "from": "checkout",
        "to": "db",
        "label": "60/s",
        "weight": 60
      },
      {
        "from": "checkout",
        "to": "pay",
        "label": "35/s",
        "weight": 35
      }
    ],
    "mainPath": {
      "from": "web",
      "to": "pay"
    }
  }
}
Focus
Requests per second between the services of a web shop
Requests per second between the services of a web shopArchitecture diagram with 8 components and 8 connections in 1 boundary. Cluster: API gateway, Catalog, Cart, Checkout, Search index, Orders. Main path: Web shop → API gateway → Checkout → Payment provider. Most connected: API gateway (4 connections). Nothing leads into Web shop. Nothing leads out of Search index, Orders and Payment provider. Bottleneck: API gateway; without it the diagram falls apart. Heaviest connection: Web shop → API gateway (1200). Web shop (frontend): connects to API gateway (1,200/s, weight 1200). API gateway (service): connects to Catalog (820/s, weight 820), Cart (310/s, weight 310) and Checkout (70/s, weight 70). Catalog (service): connects to Search index (640/s, weight 640). Cart (service): connects to Orders (150/s, weight 150). Checkout (service): connects to Orders (60/s, weight 60) and Payment provider (35/s, weight 35). Search index (database): no outgoing connection. Orders (database): no outgoing connection. Payment provider (external system): no outgoing connection.ClusterWeb shop → API gateway: 1,200/sAPI gateway → Catalog: 820/sAPI gateway → Cart: 310/sAPI gateway → Checkout: 70/sCatalog → Search index: 640/sCart → Orders: 150/sCheckout → Orders: 60/sCheckout → Payment provider: 35/s1,200/s820/s310/s70/s640/s150/s60/s35/sWeb shopWeb shopAPI gatewayAPI gatewayCatalogCatalogCartCartCheckoutCheckoutSearch indexSearch indexOrdersOrdersPayment providerPayment provider

Source: Load test, peak hour

Show chart data
Data for Requests per second between the services of a web shop
ComponentKindBoundaryConnects to
Web shopfrontendAPI gateway (1,200/s, weight 1200)
API gatewayserviceClusterCatalog (820/s, weight 820), Cart (310/s, weight 310), Checkout (70/s, weight 70)
CatalogserviceClusterSearch index (640/s, weight 640)
CartserviceClusterOrders (150/s, weight 150)
CheckoutserviceClusterOrders (60/s, weight 60), Payment provider (35/s, weight 35)
Search indexdatabaseCluster
OrdersdatabaseCluster
Payment providerexternal system
  • Architecture diagram with weighted connections
  • Show where the load goes