基礎設施¶
規劃中的基礎設施改進:運算(Graviton、Reserved Instances)、資料庫(Aurora Serverless v2)、快取(Valkey 叢集)與跨區域災難復原。
依使用者數觸發
| 使用者數 | 基礎設施變更 | 預估節省 |
|---|---|---|
| 1K | 常駐基線的預留執行個體 | 2-3 個執行個體節省約 37% |
| 5K | 尖峰容量的 1 年期預留執行個體 | 每月節省約 $680 |
| 10K | Graviton(ARM64)評估 + 遷移 | 所有 EC2 節省約 20% |
| 50K | 佈建式 Valkey 叢集(3-6 分片);3 年期預留 + Savings Plans | 所有 EC2 節省約 57% |
| 50K+ | 跨區域災難恢復(Aurora Global Database、Route 53 故障切換) | 高可用性,非成本節省 |
Graviton 遷移 (r6g / m6g)¶
| 目前 | 目標 | 節省幅度 | 觸發條件 |
|---|---|---|---|
| r6i.large ($0.152/hr) | r6g.large (~$0.122/hr) | ~20% | 10K+ 用戶 |
| m6i.xlarge ($0.24/hr) | m6g.xlarge (~$0.192/hr) | ~20% | 10K+ 用戶 |
為什麼現在不做?
Graviton (ARM64) 需要驗證所有 Python 依賴套件在 ARM 上的編譯。Shioaji SDK 目前僅提供 x86 的 wheel 套件。Gate.io SDK 需要測試。遷移風險低,但需要專門的測試投入。
步驟:
- 在 CI/CD 中建構 ARM64 Docker 映像
- 驗證 Shioaji SDK ARM 相容性(或使用 x86 模擬層)
- 並行運行 ARM + x86 容量提供者
- 逐步將流量轉移至 ARM 實例
- 停用 x86 實例
Reserved Instances / Savings Plans¶
| 用戶級距 | 策略 | 預估節省 |
|---|---|---|
| 1K 用戶 | 對常駐基準使用 1 年 RI | 2-3 個實例節省約 37% |
| 5K 用戶 | 對尖峰容量使用 1 年 RI | 每月節省約 $680 |
| 50K 用戶 | 3 年 RI + Savings Plans | 所有 EC2 節省約 57% |
Aurora Serverless v2¶
以 Aurora Serverless v2 取代基於實例的 RDS,實現自動擴展:
graph LR
subgraph current["目前(實例型)"]
RDS1["db.t3.large<br/>固定容量<br/>手動擴展"]
end
subgraph future["未來(Serverless v2)"]
RDS2["Aurora Serverless v2<br/>0.5 - 128 ACU<br/>自動擴展"]
end
current -->|"1K 用戶時遷移"| future
優點:
- ACU (Aurora Capacity Units) 隨負載自動擴展
- 離峰時段可縮減至零(節省成本)
- 無需手動變更實例類型
- 無縫 Multi-AZ 故障轉移
權衡: 在持續高負載下,每 ACU 成本高於 Reserved Instances。
ElastiCache Valkey Cluster 模式¶
| 規模 | 目前 | 未來 |
|---|---|---|
| 1-10K | Serverless(自動擴展) | 繼續使用 Serverless |
| 50K+ | Serverless | 預配置叢集 (3-6 shards) |
在 50K+ 用戶且 17,500 個並行 Worker 的情境下,預配置叢集模式在持續高吞吐量時提供比 Serverless 更優的價格效能比。
跨區域災難復原¶
在 50K+ 用戶時,部署跨區域備份:
- Aurora Global Database(次要區域的讀取副本)
- ElastiCache Global Datastore
- S3 跨區域複寫用於備份
- Route 53 故障轉移路由
總覽 · 系統架構 · 系統功能與產品 · DevOps 與品質