Dataflow: inbound Web API (API key auth) added as a third input to scripts Topology: API callers shown with two paths — direct to any site cluster OR routed through central hub to reach sites
61 lines
1.8 KiB
Plaintext
61 lines
1.8 KiB
Plaintext
flowchart TB
|
|
subgraph Central["Central Cluster (South Bend DC)"]
|
|
direction LR
|
|
CN1["Node 1<br/>active"]
|
|
CN2["Node 2<br/>standby"]
|
|
CN1 <-->|"Akka.NET<br/>cluster"| CN2
|
|
end
|
|
|
|
subgraph WarsawWest["Warsaw West Campus"]
|
|
direction TB
|
|
subgraph WW5["Building 5 Cluster"]
|
|
WW5N1["Node 1"] <--> WW5N2["Node 2"]
|
|
end
|
|
subgraph WW19["Building 19 Cluster"]
|
|
WW19N1["Node 1"] <--> WW19N2["Node 2"]
|
|
end
|
|
end
|
|
|
|
subgraph WarsawNorth["Warsaw North Campus"]
|
|
direction TB
|
|
subgraph WN1C["Building Cluster"]
|
|
WNN1["Node 1"] <--> WNN2["Node 2"]
|
|
end
|
|
end
|
|
|
|
subgraph Shannon["Shannon (single cluster)"]
|
|
SN1["Node 1"] <--> SN2["Node 2"]
|
|
end
|
|
|
|
subgraph Galway["Galway (single cluster)"]
|
|
GN1["Node 1"] <--> GN2["Node 2"]
|
|
end
|
|
|
|
subgraph TMT["TMT (single cluster)"]
|
|
TN1["Node 1"] <--> TN2["Node 2"]
|
|
end
|
|
|
|
subgraph Ponce["Ponce (single cluster)"]
|
|
PN1["Node 1"] <--> PN2["Node 2"]
|
|
end
|
|
|
|
Central <-->|"hub route"| WarsawWest
|
|
Central <-->|"hub route"| WarsawNorth
|
|
Central <-->|"hub route"| Shannon
|
|
Central <-->|"hub route"| Galway
|
|
Central <-->|"hub route"| TMT
|
|
Central <-->|"hub route"| Ponce
|
|
|
|
API["Inbound Web API Callers<br/>(API key auth)"]
|
|
API -.->|"direct to site"| Shannon
|
|
API -.->|"direct to site"| WarsawWest
|
|
API -.->|"direct to site"| Ponce
|
|
API -->|"or via central<br/>(routed to site)"| Central
|
|
|
|
subgraph Notes["Key: 2-node Akka.NET clusters, co-located on System Platform nodes"]
|
|
L1["Hub-and-spoke: central routes to all sites"]
|
|
L2["No direct site-to-site routing"]
|
|
L3["Inbound API: direct to any site cluster OR routed through central"]
|
|
L4["Data locality: equipment talks to LOCAL cluster only"]
|
|
end
|