以一個CTO的角度來看系統維護頁面

N views

在手機 APP 進行 API 維護時,實現維護頁面的系統架構應考慮以下需求:

動態切換維護模式

不需要更新 APP 本身即可啟用或關閉維護頁面。

友好的用戶體驗

在維護期間提供清晰的維護訊息,並支持基本的離線功能(如緩存內容)。

高可用性

在維護模式下仍需提供某些關鍵功能或展示訊息。

系統設計

API

狀態檢查

1
2
3
4
5
6
7
8

GET /status
Response:
{
"status": "ok" / "maintenance",
"message": "The system is under maintenance until 2024-11-16 10:00 UTC"
}

HTML

1
2
3
4
5
6
7
<html>
<body>
<h1>服務維護中</h1>
<p>我們正在進行系統維護,預計於 2024-11-16 10:00 完成。</p>
<p>如需幫助,請聯繫 [email protected]。</p>
</body>
</html>

設定後端狀態的管理工具

提供一個後台管理界面供運維人員使用,用於:
啟用或關閉維護模式。
配置維護期間的訊息(例如:結束時間或聯繫方式)。

部署與監控

#####CDN:

靜態維護頁面部署在 CDN,以確保即使後端完全不可用,用戶仍可看到維護信息。
#####負載均衡器:
在進入維護模式時,可以配置負載均衡器將所有流量重定向到維護頁面。