{ "nodes": [ { "id": "node-1", "type": "loadBalancer", "position": { "x": -4, "y": 0 }, "props": { "label": "Load Balancer", "algorithm": "round-robin" } }, { "id": "node-2", "type": "webserver", "position": { "x": -1, "y": 0 }, "props": { "label": "Web Server", "instanceSize": "medium" } }, { "id": "node-3", "type": "database", "position": { "x": 177, "y": -176 }, "props": { "label": "Database", "replication": 1 } }, { "id": "node-4", "type": "cache", "position": { "x": 204, "y": -78 }, "props": { "label": "Cache", "cacheTTL": 60, "maxEntries": 100000, "evictionPolicy": "LRU" } }, { "id": "node-5", "type": "messageQueue", "position": { "x": 0, "y": 0 }, "props": { "label": "MQ", "maxSize": 10000, "retentionSeconds": 600 } }, { "id": "node-6", "type": "cdn", "position": { "x": 20, "y": 69 }, "props": { "label": "CDN", "ttl": 3600, "geoReplication": "global", "cachingStrategy": "cache-first", "compression": "brotli", "http2": "enabled" } }, { "id": "node-7", "type": "microservice", "position": { "x": 0, "y": 0 }, "props": { "label": "Service", "instanceCount": 3, "instanceSize": "medium", "scalingStrategy": "auto", "apiVersion": "v1" } }, { "id": "node-8", "type": "data pipeline", "position": { "x": -453, "y": -121 }, "props": { "label": "pipeline", "batchSize": 500, "transformation": "map" } }, { "id": "node-9", "type": "monitoring/alerting", "position": { "x": 0, "y": 0 }, "props": { "label": "monitor", "tool": "Prometheus", "alertThreshold": 80 } }, { "id": "node-10", "type": "third party service", "position": { "x": 0, "y": 0 }, "props": { "label": "third party service", "provider": "Stripe", "latency": 200 } } ], "connections": [ { "source": "node-1", "target": "node-2", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-2", "target": "node-3", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-3", "target": "node-4", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-4", "target": "node-5", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-5", "target": "node-6", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-6", "target": "node-7", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-8", "target": "node-7", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-8", "target": "node-10", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 }, { "source": "node-10", "target": "node-9", "label": "Read traffic", "direction": "forward", "protocol": "HTTP", "tls": false, "capacity": 1000 } ] }