第二章:多站点网络基础
各位同学好,我是老张。今天咱们聊聊多站点网络的基础。说实话,这块内容我踩过的坑比你们走过的路还多。但别怕,我会把最实用的东西掏出来给你。
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工作原理:
- 用户请求域名解析
- GSLB根据策略返回最优IP
- 用户直接访问该IP
- 健康检查持续监控各站点
我的经验:有一次配置GSLB时,忘了设置健康检查。结果某个站点挂了,流量还是往那里导。用户反馈说「你们的网站怎么打不开?」。嗯,从那以后我每个站点至少配3个健康检查探针。
GSLB策略示例:
# 基于地理位置的GSLB配置
region:
- name: 华北
pool: [北京站点, 天津站点]
fallback: 上海站点
- name: 华东
pool: [上海站点, 杭州站点]
fallback: 广州站点
- name: 华南
pool: [广州站点, 深圳站点]
fallback: 北京站点
小技巧:GSLB的TTL值别设太大。我一般设60秒,这样站点切换时能快速生效。但也不要太小,否则DNS查询压力会很大。
2.4 CDN加速原理
CDN,内容分发网络。说白了就是把你的静态资源缓存到离用户最近的节点上。
CDN工作流程:
- 用户请求资源(如图片、CSS、JS)
- DNS解析到最近的CDN节点
- 节点检查是否有缓存
- 有缓存直接返回,无缓存回源站拉取
- 缓存资源并返回给用户
我的经验:有一次客户把所有动态API也通过CDN加速,结果用户数据全被缓存了。A用户看到的是B用户的个人信息。嗯,从那以后我严格区分静态资源和动态资源。
CDN配置要点:
- 静态资源(图片、CSS、JS)走CDN
- 动态API走源站
- 设置合理的缓存过期时间
- 配置HTTPS证书
- 开启Gzip压缩
避坑指南:CDN的缓存刷新不是实时的。我曾经刷新缓存后等了10分钟才生效。所以重要更新要提前规划好时间窗口。
知识体系总览
下面这张图是我自己画的,把本章的核心知识点串起来了。你仔细看看,能帮你理清思路。
好了,这一章的内容就这些。记住一句话:网络设计的好坏,直接决定了你后面运维的幸福感。别问我怎么知道的,都是血泪教训。