You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

220 lines
4.2 KiB

{
"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
}
]
}