解密 Linux Do (非官方)分发站的架构

照抄:揭秘 LINUX DO 网站服务器架构

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

48 个赞

前排前排

3 个赞

好耶,是方块

2 个赞

混个前排

1 个赞

共同提高

1 个赞

话说回来了,如果始皇打你捏

2 个赞

薯薯亲亲 :face_blowing_a_kiss:

3 个赞

我也要发,我也要发!!! :+1:

时刻准备着!

1 个赞

真专业啊!

大佬们开始架构展了:bili_040:

4 个赞

架构大佬。

1 个赞

你好强!

1 个赞

如此标准的结构

1 个赞

你好帅!

就是贵 :smiling_face_with_tear:

1 个赞

所以我说都是钞能力

哈哈哈哈哈哈哈来财

学习,edgeone 、clb

:face_with_tongue: EO 还是挺好用的

1 个赞