Skip to content

Commit d0680b2

Browse files
authored
docs: update the architecture which is much beautiful (#8)
1 parent 27caafa commit d0680b2

2 files changed

Lines changed: 29 additions & 32 deletions

File tree

docs/images/architecture_std.png

155 KB
Loading

docs/introduction/overview.md

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,39 +31,36 @@ AISIX uses a decoupled architecture, separating the Control Plane (configuration
3131

3232
Here is a diagram illustrating the basic architecture:
3333

34-
```mermaid
35-
graph TD
36-
subgraph "Management & Configuration (Control Plane)"
37-
Admin[Admin User] --> AdminUI[Admin UI / Dashboard]
38-
AdminUI --> AdminAPI[Admin API]
39-
AdminAPI --> Etcd[(etcd)]
40-
end
41-
42-
subgraph "Request Path (Data Plane)"
43-
Client[Client App] --> AISIX[AISIX AI Gateway]
44-
AISIX --> Auth{Authentication}
45-
Auth --> ModelV{Model Validation}
46-
ModelV --> RateLimit{Rate Limiting}
47-
RateLimit --> Proxy[Proxy to Upstream]
48-
end
49-
50-
subgraph "Upstream LLM Providers"
51-
OpenAI[OpenAI]
52-
Gemini[Google Gemini]
53-
DeepSeek[DeepSeek]
54-
Anthropic[Anthropic]
55-
end
56-
57-
Proxy --> OpenAI
58-
Proxy --> Gemini
59-
Proxy --> DeepSeek
60-
Proxy --> Anthropic
61-
62-
Etcd -.->|Watch Config| AISIX
63-
64-
style AISIX fill:#009639,stroke:#fff,color:#fff
65-
style Etcd fill:#f96,stroke:#333,stroke-width:2px
34+
<img src="../images/architecture_std.png" alt="AISIX Architecture Diagram" style="width:100%; max-width:800px; margin: 20px auto; display: block;" />
35+
36+
**Components:**
37+
38+
| Component | Plane | Role |
39+
| :--- | :--- | :--- |
40+
| **Client App** || Sends requests to the AISIX Proxy API (port 3000) |
41+
| **AISIX Gateway** | Data Plane | Stateless Rust proxy that processes requests through a hook pipeline |
42+
| **etcd** | Control Plane | Stores API keys, models, and rate limit config; watched by the gateway for hot-reload |
43+
| **Admin API** | Control Plane | REST API for managing configuration in etcd (port 3001) |
44+
| **Admin UI** | Control Plane | Optional React dashboard and chat playground backed by the Admin API |
45+
| **Upstream Providers** || OpenAI, Google Gemini, DeepSeek, and Anthropic |
46+
47+
**Request Flow (Data Plane):**
48+
49+
```text
50+
Client -> AISIX Gateway -> [Auth] -> [Model Validation] -> [Rate Limit] -> Upstream Provider
51+
```
52+
53+
**Config Flows (Control Plane):**
54+
55+
```text
56+
# Manage configuration via Admin UI:
57+
Admin User -> Admin UI -> Admin API -> etcd <-- AISIX Gateway(watch etcd for changes)
58+
59+
# Manage configuration via Admin API:
60+
Admin User ------------------------> Admin API -> etcd <-- AISIX Gateway(watch etcd for changes)
6661
```
62+
63+
6764
<br/>
6865

6966
This decoupled design ensures that the Data Plane continues to operate with its last known configuration even if the Control Plane is temporarily unavailable, guaranteeing uninterrupted service.

0 commit comments

Comments
 (0)