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.
96 lines
2.0 KiB
96 lines
2.0 KiB
{ |
|
"nodes": [ |
|
{ |
|
"id": "webserver-1", |
|
"type": "webserver", |
|
"position": { "x": 100, "y": 200 }, |
|
"props": { |
|
"label": "API Gateway", |
|
"rpsCapacity": 200 |
|
} |
|
}, |
|
{ |
|
"id": "lb-1", |
|
"type": "loadbalancer", |
|
"position": { "x": 300, "y": 200 }, |
|
"props": { |
|
"label": "API Gateway", |
|
"algorithm": "round-robin" |
|
} |
|
}, |
|
{ |
|
"id": "microservice-1", |
|
"type": "microservice", |
|
"position": { "x": 500, "y": 150 }, |
|
"props": { |
|
"label": "User Service", |
|
"instanceCount": 3, |
|
"cpu": 4, |
|
"ramGb": 8, |
|
"rpsCapacity": 100, |
|
"monthlyUsd": 150, |
|
"scalingStrategy": "auto", |
|
"apiVersion": "v2" |
|
} |
|
}, |
|
{ |
|
"id": "microservice-2", |
|
"type": "microservice", |
|
"position": { "x": 500, "y": 250 }, |
|
"props": { |
|
"label": "Order Service", |
|
"instanceCount": 2, |
|
"cpu": 2, |
|
"ramGb": 4, |
|
"rpsCapacity": 80, |
|
"monthlyUsd": 90, |
|
"scalingStrategy": "manual", |
|
"apiVersion": "v1" |
|
} |
|
}, |
|
{ |
|
"id": "db-1", |
|
"type": "database", |
|
"position": { "x": 700, "y": 200 }, |
|
"props": { |
|
"label": "PostgreSQL", |
|
"replication": 2, |
|
"maxRPS": 500, |
|
"baseLatencyMs": 15 |
|
} |
|
} |
|
], |
|
"connections": [ |
|
{ |
|
"source": "webserver-1", |
|
"target": "lb-1", |
|
"label": "HTTPS Requests", |
|
"protocol": "https", |
|
"tls": true |
|
}, |
|
{ |
|
"source": "lb-1", |
|
"target": "microservice-1", |
|
"label": "User API", |
|
"protocol": "http" |
|
}, |
|
{ |
|
"source": "lb-1", |
|
"target": "microservice-2", |
|
"label": "Order API", |
|
"protocol": "http" |
|
}, |
|
{ |
|
"source": "microservice-1", |
|
"target": "db-1", |
|
"label": "User Queries", |
|
"protocol": "tcp" |
|
}, |
|
{ |
|
"source": "microservice-2", |
|
"target": "db-1", |
|
"label": "Order Queries", |
|
"protocol": "tcp" |
|
} |
|
] |
|
}
|
|
|