Skip to content

Commit 0efd6fc

Browse files
committed
updates
1 parent d3fefe3 commit 0efd6fc

File tree

1 file changed

+112
-0
lines changed

1 file changed

+112
-0
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Azure Load Balancer Gaming Platform Architecture
2+
3+
This diagram illustrates the Azure Load Balancer architecture for a gaming platform migration from AWS Network Load Balancer, featuring multi-protocol support, zone redundancy, and VMSS Flex orchestration.
4+
5+
```mermaid
6+
flowchart TB
7+
subgraph Internet ["🌐 Internet"]
8+
Clients["Gaming Clients<br/>TCP & UDP Traffic"]
9+
end
10+
11+
subgraph Azure ["☁️ Azure East US Region"]
12+
subgraph LB_Frontend ["Azure Standard Load Balancer"]
13+
LB["Load Balancer<br/>Zone-Redundant<br/>Static Public IP<br/>Floating IP (DSR)"]
14+
end
15+
16+
subgraph Zone1 ["🏢 Availability Zone 1"]
17+
subgraph SessionSubnet1 ["Session Management Subnet"]
18+
SessionVMSS1["Session Management<br/>VMSS Flex<br/>TCP Port 7777"]
19+
end
20+
subgraph GameSubnet1 ["Game Data Subnet"]
21+
GameVMSS1["Real-time Game Data<br/>VMSS Flex<br/>UDP Port 7778"]
22+
end
23+
end
24+
25+
subgraph Zone2 ["🏢 Availability Zone 2"]
26+
subgraph SessionSubnet2 ["Session Management Subnet"]
27+
SessionVMSS2["Session Management<br/>VMSS Flex<br/>TCP Port 7777"]
28+
end
29+
subgraph GameSubnet2 ["Game Data Subnet"]
30+
GameVMSS2["Real-time Game Data<br/>VMSS Flex<br/>UDP Port 7778"]
31+
end
32+
end
33+
34+
subgraph Zone3 ["🏢 Availability Zone 3"]
35+
subgraph SessionSubnet3 ["Session Management Subnet"]
36+
SessionVMSS3["Session Management<br/>VMSS Flex<br/>TCP Port 7777"]
37+
end
38+
subgraph GameSubnet3 ["Game Data Subnet"]
39+
GameVMSS3["Real-time Game Data<br/>VMSS Flex<br/>UDP Port 7778"]
40+
end
41+
end
42+
43+
subgraph DataServices ["Data Services"]
44+
Redis[("Azure Cache for Redis<br/>Session State")]
45+
Cosmos[("Azure Cosmos DB<br/>Player Data")]
46+
end
47+
end
48+
49+
%% Traffic Flow
50+
Clients --> LB
51+
52+
%% Load Balancer to Backend Pools
53+
LB -->|TCP 7777| SessionVMSS1
54+
LB -->|TCP 7777| SessionVMSS2
55+
LB -->|TCP 7777| SessionVMSS3
56+
57+
LB -->|UDP 7778| GameVMSS1
58+
LB -->|UDP 7778| GameVMSS2
59+
LB -->|UDP 7778| GameVMSS3
60+
61+
%% Backend Services to Data Services
62+
SessionVMSS1 --> Redis
63+
SessionVMSS2 --> Redis
64+
SessionVMSS3 --> Redis
65+
66+
GameVMSS1 --> Cosmos
67+
GameVMSS2 --> Cosmos
68+
GameVMSS3 --> Cosmos
69+
70+
%% Styling
71+
classDef lbClass fill:#0078d4,stroke:#005a9f,stroke-width:2px,color:#fff
72+
classDef sessionClass fill:#00bcf2,stroke:#0099d4,stroke-width:2px,color:#fff
73+
classDef gameClass fill:#00d4aa,stroke:#00b894,stroke-width:2px,color:#fff
74+
classDef dataClass fill:#ff6b35,stroke:#e55100,stroke-width:2px,color:#fff
75+
classDef zoneClass fill:#f5f5f5,stroke:#999,stroke-width:1px,stroke-dasharray: 5 5
76+
77+
class LB lbClass
78+
class SessionVMSS1,SessionVMSS2,SessionVMSS3 sessionClass
79+
class GameVMSS1,GameVMSS2,GameVMSS3 gameClass
80+
class Redis,Cosmos dataClass
81+
```
82+
83+
## Architecture Components
84+
85+
### Load Balancer Configuration
86+
- **Azure Standard Load Balancer** with zone-redundant deployment
87+
- **Static Public IP** for consistent client endpoints
88+
- **Floating IP (DSR)** enabled for client IP preservation
89+
- **Multi-protocol support** for TCP and UDP traffic
90+
91+
### Backend Pools
92+
- **Session Management Pool**: VMSS Flex orchestration handling TCP traffic on port 7777
93+
- **Real-time Game Data Pool**: VMSS Flex orchestration handling UDP traffic on port 7778
94+
95+
### Availability Zones
96+
- **Zone 1, 2, 3**: Each contains both service types in separate subnets
97+
- **Subnet isolation**: Session management and game data services isolated per zone
98+
- **Network Security Groups**: Protecting each subnet tier
99+
100+
### Data Services
101+
- **Azure Cache for Redis**: Session state management for session services
102+
- **Azure Cosmos DB**: Player data storage for game data services
103+
104+
### Traffic Flow
105+
1. Gaming clients send TCP and UDP traffic through the internet
106+
2. Azure Load Balancer receives traffic via static public IP
107+
3. Load balancer routes TCP traffic (port 7777) to session management backend pool
108+
4. Load balancer routes UDP traffic (port 7778) to game data backend pool
109+
5. Session management services connect to Azure Cache for Redis
110+
6. Game data services connect to Azure Cosmos DB for player data
111+
112+
This architecture provides high availability, ultra-low latency, and scalable performance for multiplayer gaming workloads migrated from AWS Network Load Balancer.

0 commit comments

Comments
 (0)