跳轉到

基礎設施

規劃中的基礎設施改進:運算(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 需要測試。遷移風險低,但需要專門的測試投入。

步驟:

  1. 在 CI/CD 中建構 ARM64 Docker 映像
  2. 驗證 Shioaji SDK ARM 相容性(或使用 x86 模擬層)
  3. 並行運行 ARM + x86 容量提供者
  4. 逐步將流量轉移至 ARM 實例
  5. 停用 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 與品質