flowchart TD
%% --- 节点 ---
UA[🧑💻 用户访问<br/>访问入口]
EDGE[☁️ EdgeOne<br/>CDN + DDoS防护 + WAF防护]
CLB[⚖️ CLB<br/>负载均衡器]
TKE[🏢 TKE集群<br/>Linux Do 分发站<br/>应用集群服务器]
MYSQL[🛢️ TDSQL-C MySQL<br/>关系型数据库]
REDIS[🗃️ Redis<br/>缓存服务]
NAT[🌐 NAT出口<br/>统一公网出口]
%% --- 主线 ---
UA --> EDGE
EDGE --> CLB
CLB --> TKE
TKE --> MYSQL
TKE --> REDIS
TKE ---> NAT
%% --- 颜色与样式 ---
classDef user fill:#EAF2FB,stroke:#2980b9,stroke-width:2px;
classDef edge fill:#FF851B,stroke:#d35400,stroke-width:2px,color:#fff;
classDef clb fill:#166534,stroke:#166534,stroke-width:2px,color:#fff;
classDef tke fill:#1C64F2,stroke:#1C64F2,stroke-width:2px,color:#fff;
classDef db fill:#2563eb,stroke:#2563eb,stroke-width:2px,color:#fff;
classDef redis fill:#e42529,stroke:#e42529,stroke-width:2px,color:#fff;
classDef nat fill:#D7263D,stroke:#D7263D,stroke-width:2px,color:#fff;
class UA user;
class EDGE edge;
class CLB clb;
class TKE tke;
class MYSQL db;
class REDIS redis;
class NAT nat;
EdgeOne
没错就是 EdgeOne,最近疯狂发福利的 EdgeOne,方块从 EdgeOne 上线早期就用上了,见证了 EdgeOne 被打垮了 N 次,还看过 EdgeOne 的故障复盘 RCA
基于 EdgeOne 提供的流量清洗能力,可以免去部分恶意攻击
需要提醒其他使用 EdgeOne 的佬友,速率限制如果是“宽松”或者处置方式为”观察“,则意味着可能永远不会触发 L7DDoS 规则,那么你的源站是有被打挂的风险的
EdgeOne 资深文档阅读大师,对 EO 配置如数家珍,如有需要帮助的佬友可随时发帖指定给方块回答
CLB
收敛访问入口,只放通 EO 的回源 IP,确保不会有流量绕过 EO 偷偷溜进来
TKE 集群
TKE 集群完全没有 Port 暴露到公网,所以这里直接免去了本身被打垮的风险
另外,使用的是 Serverless 模式,理论上可以无限扩容,所以~
TDSQL-C MySQL
这里要重点夸一下 TDSQL 的备份回档能力
其实当时分发站 DB 我已经删库了 (只有一个归档备份,恢复要 24h),这时候,使用 TDSQL 的备份回档能力,直接把指定 DB 回滚到了删库前状态!
NAT 公网出口
这里其实有两个出口,国内一个,国外一个,但是分发站除了 OAuth 几乎没有对外访问的需求,所以,只要始皇不打我,没人知道我的 NAT IP