10 changed files with 307 additions and 16 deletions
@ -1 +1,220 @@
@@ -1 +1,220 @@
|
||||
{"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-0","target":"node-1","label":"Read traffic","direction":"forward","protocol":"HTTP","tls":false,"capacity":1000},{"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},{"source":"node-9","target":"node-0","label":"Read traffic","direction":"forward","protocol":"HTTP","tls":false,"capacity":1000}]} |
||||
{ |
||||
"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 |
||||
} |
||||
] |
||||
} |
||||
|
||||
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
{ |
||||
"nodes": [ |
||||
{ |
||||
"id": "node-1", |
||||
"type": "loadBalancer", |
||||
"position": { "x": 0, "y": 0 }, |
||||
"props": { |
||||
"label": "LB", |
||||
"algorithm": "round-robin" |
||||
} |
||||
}, |
||||
{ |
||||
"id": "node-2", |
||||
"type": "webserver", |
||||
"position": { "x": 100, "y": 0 }, |
||||
"props": { |
||||
"label": "Web Server", |
||||
"instanceSize": "medium" |
||||
} |
||||
} |
||||
], |
||||
"connections": [ |
||||
{ |
||||
"source": "node-1", |
||||
"target": "node-2", |
||||
"label": "Traffic", |
||||
"direction": "forward", |
||||
"protocol": "HTTP", |
||||
"tls": false, |
||||
"capacity": 1000 |
||||
} |
||||
] |
||||
} |
||||
Loading…
Reference in new issue