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.
 
 
 
 

127 lines
2.7 KiB

{
"nodes": [
{
"id": "webserver-1",
"type": "webserver",
"position": { "x": 100, "y": 200 },
"props": {
"label": "Web Server",
"rpsCapacity": 100
}
},
{
"id": "monitor-1",
"type": "monitoring/alerting",
"position": { "x": 300, "y": 200 },
"props": {
"label": "Prometheus Monitor",
"tool": "Prometheus",
"alertMetric": "latency",
"thresholdValue": 80,
"thresholdUnit": "ms"
}
},
{
"id": "lb-1",
"type": "loadbalancer",
"position": { "x": 500, "y": 200 },
"props": {
"label": "Load Balancer",
"algorithm": "round-robin"
}
},
{
"id": "microservice-1",
"type": "microservice",
"position": { "x": 700, "y": 150 },
"props": {
"label": "User Service",
"instanceCount": 2,
"cpu": 2,
"ramGb": 4,
"rpsCapacity": 50,
"scalingStrategy": "auto"
}
},
{
"id": "microservice-2",
"type": "microservice",
"position": { "x": 700, "y": 250 },
"props": {
"label": "Order Service",
"instanceCount": 1,
"cpu": 1,
"ramGb": 2,
"rpsCapacity": 30,
"scalingStrategy": "manual"
}
},
{
"id": "monitor-2",
"type": "monitoring/alerting",
"position": { "x": 900, "y": 200 },
"props": {
"label": "Error Rate Monitor",
"tool": "Datadog",
"alertMetric": "error_rate",
"thresholdValue": 5,
"thresholdUnit": "percent"
}
},
{
"id": "db-1",
"type": "database",
"position": { "x": 1100, "y": 200 },
"props": {
"label": "PostgreSQL",
"replication": 2,
"maxRPS": 200,
"baseLatencyMs": 15
}
}
],
"connections": [
{
"source": "webserver-1",
"target": "monitor-1",
"label": "HTTP Requests",
"protocol": "http"
},
{
"source": "monitor-1",
"target": "lb-1",
"label": "Monitored Requests",
"protocol": "http"
},
{
"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": "monitor-2",
"label": "Service Metrics",
"protocol": "http"
},
{
"source": "microservice-2",
"target": "monitor-2",
"label": "Service Metrics",
"protocol": "http"
},
{
"source": "monitor-2",
"target": "db-1",
"label": "Database Queries",
"protocol": "tcp"
}
]
}