<div class="chartlet-wrapper"><style>.chartlet-stage{position:relative;display:inline-block;max-width:100%;vertical-align:top}.chartlet-stage>svg{display:block}.chartlet-hotspot{position:absolute;border-radius:8px;cursor:pointer}.chartlet-focus{margin:0 0 12px 0;font-size:13px}.chartlet-focus summary{cursor:pointer;min-height:24px}.chartlet-focus fieldset{border:none;padding:0;margin:4px 0 0 0}.chartlet-focus label{display:inline-flex;align-items:center;min-height:44px;margin-right:14px;cursor:pointer;white-space:nowrap}.chartlet-focus input{margin-right:4px}.chartlet-focus input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.chartlet-wrapper:has(.chartlet-focus-node:checked) #chartlet-8bcb4858a41fce1e .chartlet-f{opacity:.18}#chartlet-8bcb4858a41fce1e-hs-0{left:59.465%;top:2.069%;width:12.683%;height:8.276%}#chartlet-8bcb4858a41fce1e-hs-1{left:59.413%;top:27.903%;width:12.788%;height:6.207%}#chartlet-8bcb4858a41fce1e-hs-2{left:27.27%;top:54.898%;width:12.683%;height:6.207%}#chartlet-8bcb4858a41fce1e-hs-3{left:43.368%;top:54.898%;width:12.683%;height:6.207%}#chartlet-8bcb4858a41fce1e-hs-4{left:59.465%;top:54.898%;width:12.683%;height:6.207%}#chartlet-8bcb4858a41fce1e-hs-5{left:27.13%;top:75.031%;width:12.962%;height:7.931%}#chartlet-8bcb4858a41fce1e-hs-6{left:47.758%;top:75.031%;width:12.683%;height:7.931%}#chartlet-8bcb4858a41fce1e-hs-7{left:57.28%;top:91.034%;width:17.052%;height:6.207%}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-0:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-0{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-0:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-0 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-0:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-0 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-1:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-1{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-1:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-1 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-1:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-1 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-2:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-2{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-2:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-2 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-2:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-2 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-3:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-3{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-3:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-3 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-3:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-3 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-4:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-4{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-4:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-4 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-4:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-4 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-5:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-5{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-5:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-5 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-5:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-5 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-6:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-6{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-6:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-6 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-6:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-6 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-7:checked) #chartlet-8bcb4858a41fce1e .chartlet-f-7{opacity:1}.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-7:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-7 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-8bcb4858a41fce1e-focus-7:checked) #chartlet-8bcb4858a41fce1e .chartlet-n-7 .chartlet-seq-box{stroke-width:3}</style><details class="chartlet-focus"><summary>Focus</summary><fieldset><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" checked> Show all</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-0"> Web shop</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-1"> API gateway</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-2"> Catalog</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-3"> Cart</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-4"> Checkout</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-5"> Search index</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-6"> Orders</label><label><input type="radio" name="chartlet-8bcb4858a41fce1e-focus" class="chartlet-focus-node" id="chartlet-8bcb4858a41fce1e-focus-7"> Payment provider</label></fieldset></details><figure class="chartlet-figure" data-viz="chart"><figcaption>Requests per second between the services of a web shop</figcaption><div class="chartlet-stage"><svg xmlns="http://www.w3.org/2000/svg" width="820" height="580" viewBox="0 0 820 580" id="chartlet-8bcb4858a41fce1e" role="img" aria-labelledby="chartlet-8bcb4858a41fce1e-title chartlet-8bcb4858a41fce1e-description" class="chartlet-root"><title id="chartlet-8bcb4858a41fce1e-title">Requests per second between the services of a web shop</title><desc id="chartlet-8bcb4858a41fce1e-description">Architecture 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.</desc><style>.chartlet-root{--chartlet-text:#172033;--chartlet-muted:#344054;--chartlet-grid:#d9dee8;--chartlet-zero:#667085;--chartlet-accent:#2563eb;--chartlet-background:#fff;--chartlet-color-1:#2563eb;--chartlet-color-2:#c2410c;--chartlet-color-3:#475569;--chartlet-color-4:#111827;max-width:100%;height:auto;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--chartlet-text)}#chartlet-8bcb4858a41fce1e .chartlet-title{font-size:22px;font-weight:650;fill:var(--chartlet-text)}#chartlet-8bcb4858a41fce1e .chartlet-label,#chartlet-8bcb4858a41fce1e .chartlet-tick,#chartlet-8bcb4858a41fce1e .chartlet-value,#chartlet-8bcb4858a41fce1e .chartlet-value-inverse,#chartlet-8bcb4858a41fce1e .chartlet-axis-title{font-size:12px;fill:var(--chartlet-muted)}#chartlet-8bcb4858a41fce1e .chartlet-value,#chartlet-8bcb4858a41fce1e .chartlet-value-inverse{font-weight:600}#chartlet-8bcb4858a41fce1e .chartlet-value{fill:var(--chartlet-text)}#chartlet-8bcb4858a41fce1e .chartlet-value-inverse{fill:var(--chartlet-background)}#chartlet-8bcb4858a41fce1e .chartlet-axis-title{font-weight:600}#chartlet-8bcb4858a41fce1e .chartlet-grid{stroke:var(--chartlet-grid);stroke-width:1}#chartlet-8bcb4858a41fce1e .chartlet-zero{stroke:var(--chartlet-zero);stroke-width:1.5}#chartlet-8bcb4858a41fce1e .chartlet-bar,#chartlet-8bcb4858a41fce1e .chartlet-point{fill:var(--chartlet-accent)}#chartlet-8bcb4858a41fce1e .chartlet-line{fill:none;stroke:var(--chartlet-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#chartlet-8bcb4858a41fce1e .chartlet-background{fill:var(--chartlet-background)}.chartlet-root{--chartlet-node:#eef3fd;--chartlet-lane:#f7f9fc;--chartlet-lane-head:#eef1f6;--chartlet-shadow:rgba(16,24,40,.09);--chartlet-role-blue:#2563eb;--chartlet-role-blue-fill:#eef3fd;--chartlet-role-green:#15803d;--chartlet-role-green-fill:#ecfdf3;--chartlet-role-amber:#b45309;--chartlet-role-amber-fill:#fff7e8;--chartlet-role-teal:#0f766e;--chartlet-role-teal-fill:#e9faf7;--chartlet-role-violet:#6d28d9;--chartlet-role-violet-fill:#f3efff;--chartlet-role-gray:#667085;--chartlet-role-gray-fill:#f7f8fa;--chartlet-role-red:#b42318;--chartlet-role-red-fill:#fef3f2}.chartlet-root.chartlet-theme-dark{--chartlet-node:#1a2436;--chartlet-lane:#121925;--chartlet-lane-head:#18212f;--chartlet-shadow:rgba(0,0,0,.45);--chartlet-role-blue:#7ea6ff;--chartlet-role-blue-fill:#1a2436;--chartlet-role-green:#4ade80;--chartlet-role-green-fill:#132a1d;--chartlet-role-amber:#fbbf24;--chartlet-role-amber-fill:#2b2210;--chartlet-role-teal:#2dd4bf;--chartlet-role-teal-fill:#0f2a27;--chartlet-role-violet:#b69cff;--chartlet-role-violet-fill:#231c38;--chartlet-role-gray:#9aa7bd;--chartlet-role-gray-fill:#161d29;--chartlet-role-red:#f97066;--chartlet-role-red-fill:#2d1616}#chartlet-8bcb4858a41fce1e .chartlet-role-blue{fill:var(--chartlet-role-blue-fill);stroke:var(--chartlet-role-blue)}#chartlet-8bcb4858a41fce1e .chartlet-role-green{fill:var(--chartlet-role-green-fill);stroke:var(--chartlet-role-green)}#chartlet-8bcb4858a41fce1e .chartlet-role-amber{fill:var(--chartlet-role-amber-fill);stroke:var(--chartlet-role-amber)}#chartlet-8bcb4858a41fce1e .chartlet-role-teal{fill:var(--chartlet-role-teal-fill);stroke:var(--chartlet-role-teal)}#chartlet-8bcb4858a41fce1e .chartlet-role-violet{fill:var(--chartlet-role-violet-fill);stroke:var(--chartlet-role-violet)}#chartlet-8bcb4858a41fce1e .chartlet-role-gray{fill:var(--chartlet-role-gray-fill);stroke:var(--chartlet-role-gray)}#chartlet-8bcb4858a41fce1e .chartlet-role-red{fill:var(--chartlet-role-red-fill);stroke:var(--chartlet-role-red)}#chartlet-8bcb4858a41fce1e .chartlet-diagram-rim{fill:none;stroke:var(--chartlet-role-teal);stroke-width:1.5}#chartlet-8bcb4858a41fce1e .chartlet-diagram-shadow{fill:var(--chartlet-shadow);stroke:none;rx:7px}#chartlet-8bcb4858a41fce1e .chartlet-diagram-chip{fill:var(--chartlet-background);stroke:var(--chartlet-grid);stroke-width:1;rx:4px}#chartlet-8bcb4858a41fce1e .chartlet-diagram-chip-text{font-size:12px;fill:var(--chartlet-text)}#chartlet-8bcb4858a41fce1e .chartlet-diagram-badge{fill:var(--chartlet-accent);stroke:var(--chartlet-background);stroke-width:2}#chartlet-8bcb4858a41fce1e .chartlet-diagram-badge-text{font-size:10px;font-weight:700;fill:var(--chartlet-background)}#chartlet-8bcb4858a41fce1e .chartlet-flow-node{stroke-width:1.5;stroke-linejoin:round;rx:7px}#chartlet-8bcb4858a41fce1e .chartlet-flow-start{stroke-width:2}#chartlet-8bcb4858a41fce1e .chartlet-flow-end{stroke-width:3}#chartlet-8bcb4858a41fce1e .chartlet-flow-external{stroke-dasharray:5 3}#chartlet-8bcb4858a41fce1e .chartlet-flow-inner{stroke:var(--chartlet-role-blue);stroke-width:1}#chartlet-8bcb4858a41fce1e .chartlet-flow-label{font-size:13px;font-weight:600;fill:var(--chartlet-text)}#chartlet-8bcb4858a41fce1e .chartlet-flow-sublabel{font-size:11px;fill:var(--chartlet-muted)}#chartlet-8bcb4858a41fce1e .chartlet-flow-edge{fill:none;stroke:var(--chartlet-zero);stroke-width:1.4;stroke-linejoin:round}#chartlet-8bcb4858a41fce1e .chartlet-flow-dashed{stroke-dasharray:5 4}#chartlet-8bcb4858a41fce1e .chartlet-flow-dotted{stroke-dasharray:1 4;stroke-linecap:round}#chartlet-8bcb4858a41fce1e .chartlet-flow-main{stroke:var(--chartlet-accent);stroke-width:2.2}#chartlet-8bcb4858a41fce1e .chartlet-flow-head{fill:var(--chartlet-zero);stroke:var(--chartlet-zero);stroke-width:1;stroke-linejoin:round}#chartlet-8bcb4858a41fce1e .chartlet-flow-main-head{fill:var(--chartlet-accent);stroke:var(--chartlet-accent)}#chartlet-8bcb4858a41fce1e .chartlet-flow-lane{fill:var(--chartlet-lane);stroke:var(--chartlet-grid);stroke-width:1}#chartlet-8bcb4858a41fce1e .chartlet-flow-lane-alt{fill:var(--chartlet-background)}#chartlet-8bcb4858a41fce1e .chartlet-flow-lane-head{fill:var(--chartlet-lane-head);stroke:none}#chartlet-8bcb4858a41fce1e .chartlet-flow-lane-label{font-size:11px;font-weight:650;fill:var(--chartlet-muted);letter-spacing:.04em}#chartlet-8bcb4858a41fce1e .chartlet-flow-group{fill:var(--chartlet-accent);fill-opacity:.04;stroke:var(--chartlet-zero);stroke-width:1;stroke-dasharray:4 3;rx:10px}#chartlet-8bcb4858a41fce1e .chartlet-flow-group-label{font-size:11px;font-weight:600;fill:var(--chartlet-muted)}#chartlet-8bcb4858a41fce1e .chartlet-arch-head{fill:var(--chartlet-role-violet-fill);stroke:var(--chartlet-role-violet);stroke-width:1.5}#chartlet-8bcb4858a41fce1e .chartlet-arch-dot{fill:var(--chartlet-role-blue);stroke:none}#chartlet-8bcb4858a41fce1e .chartlet-flow-w0 .chartlet-flow-edge{stroke-width:1}#chartlet-8bcb4858a41fce1e .chartlet-flow-w1 .chartlet-flow-edge{stroke-width:1.5}#chartlet-8bcb4858a41fce1e .chartlet-flow-w2 .chartlet-flow-edge{stroke-width:2}#chartlet-8bcb4858a41fce1e .chartlet-flow-w3 .chartlet-flow-edge{stroke-width:2.5}#chartlet-8bcb4858a41fce1e .chartlet-flow-w4 .chartlet-flow-edge{stroke-width:3}#chartlet-8bcb4858a41fce1e .chartlet-flow-w5 .chartlet-flow-edge{stroke-width:3.5}#chartlet-8bcb4858a41fce1e .chartlet-flow-w6 .chartlet-flow-edge{stroke-width:4}#chartlet-8bcb4858a41fce1e .chartlet-flow-w7 .chartlet-flow-edge{stroke-width:4.5}#chartlet-8bcb4858a41fce1e .chartlet-flow-w8 .chartlet-flow-edge{stroke-width:5}</style><rect x="210.47" y="133.839" width="393.575" height="359.338" class="chartlet-flow-group"/><text x="218.47" y="146.839" text-anchor="start" class="chartlet-flow-group-label">Cluster</text><g class="chartlet-f chartlet-f-0 chartlet-f-1 chartlet-flow-w8"><polyline points="539.615,60 539.615,153.839" class="chartlet-flow-edge chartlet-flow-main"><title>Web shop → API gateway: 1,200/s</title></polyline><polyline points="536.115,153.839 539.615,161.839 543.115,153.839 536.115,153.839" class="chartlet-flow-head chartlet-flow-main-head"/></g><g class="chartlet-f chartlet-f-1 chartlet-f-2 chartlet-flow-w5"><polyline points="495.185,197.839 495.185,278.609 275.615,278.609 275.615,310.408" class="chartlet-flow-edge"><title>API gateway → Catalog: 820/s</title></polyline><polyline points="272.115,310.408 275.615,318.408 279.115,310.408 272.115,310.408" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-1 chartlet-f-3 chartlet-flow-w2"><polyline points="517.4,197.839 517.4,290.314 407.615,290.314 407.615,310.408" class="chartlet-flow-edge"><title>API gateway → Cart: 310/s</title></polyline><polyline points="404.115,310.408 407.615,318.408 411.115,310.408 404.115,310.408" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-1 chartlet-f-4 chartlet-flow-w0"><polyline points="539.615,197.839 539.615,310.408" class="chartlet-flow-edge chartlet-flow-main"><title>API gateway → Checkout: 70/s</title></polyline><polyline points="536.115,310.408 539.615,318.408 543.115,310.408 536.115,310.408" class="chartlet-flow-head chartlet-flow-main-head"/></g><g class="chartlet-f chartlet-f-2 chartlet-f-5 chartlet-flow-w4"><polyline points="275.615,354.408 275.615,427.177" class="chartlet-flow-edge"><title>Catalog → Search index: 640/s</title></polyline><polyline points="272.115,427.177 275.615,435.177 279.115,427.177 272.115,427.177" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-3 chartlet-f-6 chartlet-flow-w1"><polyline points="407.615,354.408 407.615,407.084 431.615,407.084 431.615,427.177" class="chartlet-flow-edge"><title>Cart → Orders: 150/s</title></polyline><polyline points="428.115,427.177 431.615,435.177 435.115,427.177 428.115,427.177" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-4 chartlet-f-6 chartlet-flow-w0"><polyline points="515.615,354.408 515.615,407.084 455.615,407.084 455.615,427.177" class="chartlet-flow-edge"><title>Checkout → Orders: 60/s</title></polyline><polyline points="452.115,427.177 455.615,435.177 459.115,427.177 452.115,427.177" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-4 chartlet-f-7 chartlet-flow-w0"><polyline points="539.615,354.408 539.615,520" class="chartlet-flow-edge chartlet-flow-main"><title>Checkout → Payment provider: 35/s</title></polyline><polyline points="536.115,520 539.615,528 543.115,520 536.115,520" class="chartlet-flow-head chartlet-flow-main-head"/></g><g class="chartlet-f chartlet-n-0 chartlet-f-0 chartlet-f-1"></g><g class="chartlet-f chartlet-n-1 chartlet-f-0 chartlet-f-1 chartlet-f-2 chartlet-f-3 chartlet-f-4"></g><g class="chartlet-f chartlet-n-2 chartlet-f-1 chartlet-f-2 chartlet-f-5"></g><g class="chartlet-f chartlet-n-3 chartlet-f-1 chartlet-f-3 chartlet-f-6"></g><g class="chartlet-f chartlet-n-4 chartlet-f-1 chartlet-f-4 chartlet-f-6 chartlet-f-7"></g><g class="chartlet-f chartlet-n-5 chartlet-f-2 chartlet-f-5"></g><g class="chartlet-f chartlet-n-6 chartlet-f-3 chartlet-f-4 chartlet-f-6"></g><g class="chartlet-f chartlet-n-7 chartlet-f-4 chartlet-f-7"></g><g class="chartlet-f chartlet-f-0 chartlet-f-1"><rect x="543.615" y="65" width="50.8" height="21" class="chartlet-diagram-chip"/><text x="548.615" y="79" text-anchor="start" class="chartlet-diagram-chip-text">1,200/s</text></g><g class="chartlet-f chartlet-f-1 chartlet-f-2"><rect x="447.585" y="202.839" width="43.6" height="21" class="chartlet-diagram-chip"/><text x="486.185" y="216.839" text-anchor="end" class="chartlet-diagram-chip-text">820/s</text></g><g class="chartlet-f chartlet-f-1 chartlet-f-3"><rect x="442.267" y="294.314" width="40.48" height="21" class="chartlet-diagram-chip"/><text x="462.507" y="308.314" text-anchor="middle" class="chartlet-diagram-chip-text">310/s</text></g><g class="chartlet-f chartlet-f-1 chartlet-f-4"><rect x="543.615" y="202.839" width="36.88" height="21" class="chartlet-diagram-chip"/><text x="548.615" y="216.839" text-anchor="start" class="chartlet-diagram-chip-text">70/s</text></g><g class="chartlet-f chartlet-f-2 chartlet-f-5"><rect x="279.615" y="359.408" width="43.6" height="21" class="chartlet-diagram-chip"/><text x="284.615" y="373.408" text-anchor="start" class="chartlet-diagram-chip-text">640/s</text></g><g class="chartlet-f chartlet-f-3 chartlet-f-6"><rect x="411.615" y="359.408" width="40.48" height="21" class="chartlet-diagram-chip"/><text x="416.615" y="373.408" text-anchor="start" class="chartlet-diagram-chip-text">150/s</text></g><g class="chartlet-f chartlet-f-4 chartlet-f-6"><rect x="474.735" y="359.408" width="36.88" height="21" class="chartlet-diagram-chip"/><text x="506.615" y="373.408" text-anchor="end" class="chartlet-diagram-chip-text">60/s</text></g><g class="chartlet-f chartlet-f-4 chartlet-f-7"><rect x="543.615" y="359.408" width="36.88" height="21" class="chartlet-diagram-chip"/><text x="548.615" y="373.408" text-anchor="start" class="chartlet-diagram-chip-text">35/s</text></g><g class="chartlet-f chartlet-n-0 chartlet-f-0 chartlet-f-1"><rect x="487.615" y="14.5" width="104" height="48" class="chartlet-diagram-shadow"/><rect x="487.615" y="12" width="104" height="48" class="chartlet-flow-node chartlet-role-blue"><title>Web shop</title></rect><line x1="487.615" y1="24" x2="591.615" y2="24" class="chartlet-flow-inner"/><circle cx="495.615" cy="18" r="1.8" class="chartlet-arch-dot"/><circle cx="501.615" cy="18" r="1.8" class="chartlet-arch-dot"/><circle cx="507.615" cy="18" r="1.8" class="chartlet-arch-dot"/><text x="539.615" y="46.5" text-anchor="middle" class="chartlet-flow-label">Web shop</text></g><g class="chartlet-f chartlet-n-1 chartlet-f-0 chartlet-f-1 chartlet-f-2 chartlet-f-3 chartlet-f-4"><rect x="487.185" y="164.339" width="104.86" height="36" class="chartlet-diagram-shadow"/><rect x="487.185" y="161.839" width="104.86" height="36" class="chartlet-flow-node chartlet-role-blue"><title>API gateway</title></rect><text x="539.615" y="184.339" text-anchor="middle" class="chartlet-flow-label">API gateway</text></g><g class="chartlet-f chartlet-n-2 chartlet-f-1 chartlet-f-2 chartlet-f-5"><rect x="223.615" y="320.908" width="104" height="36" class="chartlet-diagram-shadow"/><rect x="223.615" y="318.408" width="104" height="36" class="chartlet-flow-node chartlet-role-blue"><title>Catalog</title></rect><text x="275.615" y="340.908" text-anchor="middle" class="chartlet-flow-label">Catalog</text></g><g class="chartlet-f chartlet-n-3 chartlet-f-1 chartlet-f-3 chartlet-f-6"><rect x="355.615" y="320.908" width="104" height="36" class="chartlet-diagram-shadow"/><rect x="355.615" y="318.408" width="104" height="36" class="chartlet-flow-node chartlet-role-blue"><title>Cart</title></rect><text x="407.615" y="340.908" text-anchor="middle" class="chartlet-flow-label">Cart</text></g><g class="chartlet-f chartlet-n-4 chartlet-f-1 chartlet-f-4 chartlet-f-6 chartlet-f-7"><rect x="487.615" y="320.908" width="104" height="36" class="chartlet-diagram-shadow"/><rect x="487.615" y="318.408" width="104" height="36" class="chartlet-flow-node chartlet-role-blue"><title>Checkout</title></rect><text x="539.615" y="340.908" text-anchor="middle" class="chartlet-flow-label">Checkout</text></g><g class="chartlet-f chartlet-n-5 chartlet-f-2 chartlet-f-5"><polyline points="222.47,442.677 222.47,478.677 224.281,479.971 229.59,481.177 238.036,482.213 249.042,483.007 261.86,483.507 275.615,483.677 289.37,483.507 302.188,483.007 313.194,482.213 321.64,481.177 326.949,479.971 328.76,478.677 328.76,442.677 326.949,441.383 321.64,440.177 313.194,439.142 302.188,438.347 289.37,437.848 275.615,437.677 261.86,437.848 249.043,438.347 238.036,439.142 229.59,440.177 224.281,441.383 222.47,442.677 222.47,442.677" class="chartlet-diagram-shadow"/><polyline points="222.47,440.177 222.47,476.177 224.281,477.471 229.59,478.677 238.036,479.713 249.042,480.507 261.86,481.007 275.615,481.177 289.37,481.007 302.188,480.507 313.194,479.713 321.64,478.677 326.949,477.471 328.76,476.177 328.76,440.177 326.949,438.883 321.64,437.677 313.194,436.642 302.188,435.847 289.37,435.348 275.615,435.177 261.86,435.348 249.043,435.847 238.036,436.642 229.59,437.677 224.281,438.883 222.47,440.177 222.47,440.177" class="chartlet-flow-node chartlet-role-teal"><title>Search index</title></polyline><polyline points="222.47,440.177 224.281,441.471 229.59,442.677 238.036,443.713 249.042,444.507 261.86,445.007 275.615,445.177 289.37,445.007 302.188,444.507 313.194,443.713 321.64,442.677 326.949,441.471 328.76,440.177" class="chartlet-diagram-rim"/><text x="275.615" y="465.677" text-anchor="middle" class="chartlet-flow-label">Search index</text></g><g class="chartlet-f chartlet-n-6 chartlet-f-3 chartlet-f-4 chartlet-f-6"><polyline points="391.615,442.677 391.615,478.677 393.387,479.971 398.582,481.177 406.845,482.213 417.615,483.007 430.156,483.507 443.615,483.677 457.074,483.507 469.615,483.007 480.385,482.213 488.648,481.177 493.843,479.971 495.615,478.677 495.615,442.677 493.843,441.383 488.648,440.177 480.385,439.142 469.615,438.347 457.074,437.848 443.615,437.677 430.156,437.848 417.615,438.347 406.845,439.142 398.582,440.177 393.387,441.383 391.615,442.677 391.615,442.677" class="chartlet-diagram-shadow"/><polyline points="391.615,440.177 391.615,476.177 393.387,477.471 398.582,478.677 406.845,479.713 417.615,480.507 430.156,481.007 443.615,481.177 457.074,481.007 469.615,480.507 480.385,479.713 488.648,478.677 493.843,477.471 495.615,476.177 495.615,440.177 493.843,438.883 488.648,437.677 480.385,436.642 469.615,435.847 457.074,435.348 443.615,435.177 430.156,435.348 417.615,435.847 406.845,436.642 398.582,437.677 393.387,438.883 391.615,440.177 391.615,440.177" class="chartlet-flow-node chartlet-role-teal"><title>Orders</title></polyline><polyline points="391.615,440.177 393.387,441.471 398.582,442.677 406.845,443.713 417.615,444.507 430.156,445.007 443.615,445.177 457.074,445.007 469.615,444.507 480.385,443.713 488.648,442.677 493.843,441.471 495.615,440.177" class="chartlet-diagram-rim"/><text x="443.615" y="465.677" text-anchor="middle" class="chartlet-flow-label">Orders</text></g><g class="chartlet-f chartlet-n-7 chartlet-f-4 chartlet-f-7"><rect x="469.7" y="530.5" width="139.83" height="36" class="chartlet-diagram-shadow"/><rect x="469.7" y="528" width="139.83" height="36" class="chartlet-flow-node chartlet-flow-external chartlet-role-gray"><title>Payment provider</title></rect><text x="539.615" y="550.5" text-anchor="middle" class="chartlet-flow-label">Payment provider</text></g></svg><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-0" for="chartlet-8bcb4858a41fce1e-focus-0"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-1" for="chartlet-8bcb4858a41fce1e-focus-1"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-2" for="chartlet-8bcb4858a41fce1e-focus-2"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-3" for="chartlet-8bcb4858a41fce1e-focus-3"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-4" for="chartlet-8bcb4858a41fce1e-focus-4"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-5" for="chartlet-8bcb4858a41fce1e-focus-5"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-6" for="chartlet-8bcb4858a41fce1e-focus-6"></label><label class="chartlet-hotspot" id="chartlet-8bcb4858a41fce1e-hs-7" for="chartlet-8bcb4858a41fce1e-focus-7"></label></div><p class="chartlet-source">Source: Load test, peak hour</p><details class="chartlet-data" data-viz-text><summary>Show chart data</summary><table><caption>Data for Requests per second between the services of a web shop</caption><thead><tr><th scope="col">Component</th><th scope="col">Kind</th><th scope="col">Boundary</th><th scope="col">Connects to</th></tr></thead><tbody><tr><th scope="row">Web shop</th><td>frontend</td><td></td><td>API gateway (1,200/s, weight 1200)</td></tr><tr><th scope="row">API gateway</th><td>service</td><td>Cluster</td><td>Catalog (820/s, weight 820), Cart (310/s, weight 310), Checkout (70/s, weight 70)</td></tr><tr><th scope="row">Catalog</th><td>service</td><td>Cluster</td><td>Search index (640/s, weight 640)</td></tr><tr><th scope="row">Cart</th><td>service</td><td>Cluster</td><td>Orders (150/s, weight 150)</td></tr><tr><th scope="row">Checkout</th><td>service</td><td>Cluster</td><td>Orders (60/s, weight 60), Payment provider (35/s, weight 35)</td></tr><tr><th scope="row">Search index</th><td>database</td><td>Cluster</td><td></td></tr><tr><th scope="row">Orders</th><td>database</td><td>Cluster</td><td></td></tr><tr><th scope="row">Payment provider</th><td>external system</td><td></td><td></td></tr></tbody></table></details></figure></div>