1.1 目标梳理:明确RTO(恢复时间目标)与RPO(数据恢复点目标)。
1.2 资源清单:列出现有CN2链路、边缘节点(POP)、公网IP、ASN、云/机房位置(含马来西亚数据中心)与应用依赖(数据库、会话存储)。
1.3 权限与联系人:确认网络工程、运维与供应商(中国电信CN2、当地ISP、云服务商)的联系人与登录权限。
2.1 多POP布局:至少在中国境内出口和马来西亚境内各布置2个POP(如吉隆坡与槟城),实现地域冗余。
2.2 多链路多上游:对等或托管至少两个不同的CN2线路提供商或不同ASN的上游,避免单点故障。
2.3 Anycast与地域路由:对静态内容/边缘服务使用Anycast IP,在马来西亚部署Anycast节点以缩短延迟并实现就近接入。
3.1 BGP多宿主:为每个POP配置各自的BGP会话,向两个以上上游通告前缀。
3.2 本地优先级与路由策略:使用local-preference、AS-path prepend、MED等控制出站/入站流量优先级。
3.3 示例(Cisco IOS):
- router bgp 65001
- neighbor 1.1.1.1 remote-as 45102
- neighbor 2.2.2.2 remote-as 45103
- ip prefix-list MYNET permit 203.0.113.0/24
- route-map SET-LOCAL-PREF permit 10
- set local-preference 200
- neighbor 1.1.1.1 route-map SET-LOCAL-PREF out
4.1 启用BFD:在路由器上启用BFD与BGP配合可将故障检测时间从分钟级缩短为几十毫秒。
4.2 Cisco BFD+BGP示例:
- bfd template single-hop MyBFD interval 50 min_rx 50 multiplier 3
- router bgp 65001
- neighbor 1.1.1.1 bfd
4.3 Juniper示例:set protocols bfd … 并在protocols bgp group neighbor 配置bfd-liveness-detection。
5.1 Edge LB:在每个POP使用HAProxy或F5做负载均衡,做主动—主动或主动—被动部署。
5.2 会话保持:通过cookie或源IP散列(consistent-hash)保证会话粘性;对需要状态同步的服务实现后端状态复制(如Redis主从/哨兵)。
5.3 HAProxy 简单健康检查示例:
- backend app_pool
- option httpchk GET /health
- server app1 10.0.0.1:80 check
6.1 低TTL+主动健康探测:将重要域名TTL设置为60~120秒,并使用DNS服务商(如NS1、Cloudflare或Route53)的健康检查实现自动Failover。
6.2 GeoDNS与Weighted策略:对马来西亚用户优先返回本地POP IP,出现故障时按权重切换到次优路径。
6.3 DNS Failover流程:配置健康检查->故障时自动从主IP下线->DNS返回备用IP->客户端按TTL刷新。
7.1 DDoS 防护:在边缘接入DDoS清洗(云清洗或机房清洗),配置黑洞路由策略与流量镜像。
7.2 监控告警:部署Zabbix/Prometheus采集链路、BGP会话、丢包、延迟;在发生链路异常时触发自动脚本切换或通知值班工程师。
7.3 灾备演练步骤:制定SOP->定期(如月度)进行切换演练->记录RTO/RPO->回归修正配置。演练时验证BGP收敛、DNS Failover、会话恢复与业务层面完整性。
8.1 答:系统通常通过多层策略自动切换。
- BGP层:若BGP会话down,路由器会撤销对应前缀并由其他上游接收路由,BFD可加速检测;
- DNS层:若边缘节点健康检查失败,DNS Failover会将流量导向备用POP;
- 应用层:负载均衡与后端的健康检查保证请求不被下线实例接收。运维需确认DNS TTL与BGP策略已优化以避免长时间不可达。
9.1 答:要保证会话与数据一致性,应采取多项措施:
- 会话层:使用会话复制(如Redis主从或集群)或将会话外置(JWT、数据库);使用负载均衡的会话粘性策略避免频繁切换;
- 数据层:应用异地同步/半同步复制,依据RPO选择同步或异步复制;
- 回滚策略:在切换后验证写入一致性,必要时通过队列/重试机制补偿丢失数据。
10.1 答:实施步骤建议按以下顺序进行并注意权限与变更控制:
- 评估与规划(明确目标、清单与联系)->设计多POP与多上游拓扑->在测试环境配置BGP/BFD与负载均衡->部署DNS Failover与健康检查->小范围演练->逐步切换生产并定期演练;
- 注意事项:变更需在维护窗口执行,备份配置、预置回滚命令、与供应商沟通维护时间,并记录每次演练与故障的时间线用于优化。