第二章:多站点网络基础

各位同学好,我是老张。今天咱们聊聊多站点网络的基础。说实话,这块内容我踩过的坑比你们走过的路还多。但别怕,我会把最实用的东西掏出来给你。

2.1 VPC与子网设计

VPC,说白了就是你在云上圈的一块私密领地。我习惯把它想象成公司内部的局域网,只不过跑在云上。

子网划分的核心原则

  • 按业务隔离:Web层、应用层、数据库层各占一个子网
  • 按环境隔离:开发、测试、生产环境用不同VPC
  • 预留扩展空间:别把IP段用满,留30%给未来

我的经验:有一次客户把所有服务塞进一个/24网段,结果新业务上线时IP不够用。最后不得不重建VPC,迁移过程折腾了整整两天。嗯,从那以后我设计VPC时至少留一个/20的网段。

子网设计示例

VPC CIDR: 10.0.0.0/16
├── 10.0.1.0/24  Web层(公网子网)
├── 10.0.2.0/24  应用层(私网子网)
├── 10.0.3.0/24  数据库层(私网子网)
└── 10.0.100.0/24 管理子网(运维专用)

小技巧:管理子网一定要单独划出来。我曾经因为运维机器和业务机器混在一起,导致一次误操作把生产数据库给停了。从那以后,管理子网和业务子网严格隔离。

2.2 跨地域网络互联

多站点之间怎么连?两个选择:VPN或者专线。

VPN vs 专线对比

特性 VPN 专线
成本 低(按流量计费) 高(按月租用)
带宽 受公网影响 稳定保障
延迟 20-50ms 5-15ms
可靠性 99.5% 99.99%
适用场景 测试、灾备 核心业务

避坑指南:我曾经在跨国项目中只用VPN连接,结果某天海底光缆故障,所有站点之间延迟飙升到300ms。后来我学乖了——核心链路必须用专线,VPN只做备份。

专线配置要点

  • 两端VPC的CIDR不能重叠
  • 路由表要手动添加对端网段
  • 安全组要放行对端IP
  • 建议配置BGP动态路由

2.3 DNS与全局负载均衡(GSLB)

GSLB,说白了就是智能DNS。它根据用户的地理位置、服务器负载、网络延迟等因素,把用户引导到最合适的站点。

GSLB工作原理

  1. 用户请求域名解析
  2. GSLB根据策略返回最优IP
  3. 用户直接访问该IP
  4. 健康检查持续监控各站点

我的经验:有一次配置GSLB时,忘了设置健康检查。结果某个站点挂了,流量还是往那里导。用户反馈说「你们的网站怎么打不开?」。嗯,从那以后我每个站点至少配3个健康检查探针。

GSLB策略示例

# 基于地理位置的GSLB配置
region:
  - name: 华北
    pool: [北京站点, 天津站点]
    fallback: 上海站点
  - name: 华东
    pool: [上海站点, 杭州站点]
    fallback: 广州站点
  - name: 华南
    pool: [广州站点, 深圳站点]
    fallback: 北京站点

小技巧:GSLB的TTL值别设太大。我一般设60秒,这样站点切换时能快速生效。但也不要太小,否则DNS查询压力会很大。

2.4 CDN加速原理

CDN,内容分发网络。说白了就是把你的静态资源缓存到离用户最近的节点上。

CDN工作流程

  1. 用户请求资源(如图片、CSS、JS)
  2. DNS解析到最近的CDN节点
  3. 节点检查是否有缓存
  4. 有缓存直接返回,无缓存回源站拉取
  5. 缓存资源并返回给用户

我的经验:有一次客户把所有动态API也通过CDN加速,结果用户数据全被缓存了。A用户看到的是B用户的个人信息。嗯,从那以后我严格区分静态资源和动态资源。

CDN配置要点

  • 静态资源(图片、CSS、JS)走CDN
  • 动态API走源站
  • 设置合理的缓存过期时间
  • 配置HTTPS证书
  • 开启Gzip压缩

避坑指南:CDN的缓存刷新不是实时的。我曾经刷新缓存后等了10分钟才生效。所以重要更新要提前规划好时间窗口。

知识体系总览

下面这张图是我自己画的,把本章的核心知识点串起来了。你仔细看看,能帮你理清思路。

多站点网络基础 - 知识体系 多站点网络 VPC与子网设计 跨地域网络互联 DNS与GSLB CDN加速原理 按业务隔离 按环境隔离 预留扩展空间 VPN(低成本) 专线(高可靠) BGP动态路由 地理位置调度 负载均衡 健康检查 静态资源缓存 就近访问 缓存刷新策略

好了,这一章的内容就这些。记住一句话:网络设计的好坏,直接决定了你后面运维的幸福感。别问我怎么知道的,都是血泪教训。

专注资料整理