GO 训练营第 11 周——DNS&CDN& 多活架构
DNS
问题
域名解析被劫持;
解析转发;
导致可能解析成错误的 IDC
解决
监控+商务推动(让客户投诉运营商);
推动用户改 DNS 配置;
HTTPDNS:用 http 接口的方式获取 IDC IP,并且可以多个做均衡;
高可用设计:稳定的 Anycast(流量导向多个 IP)+BGP(边缘节点加速)
CDN
解决的问题
缓存代理、路由加速、安全保护(DDoS)、节省成本
功能:内容路由、内容分发、内部存储、内容管理
数据一致性
http header 解决缓存过期问题
Expires < Cache Control, Last-Modified / If-Modified-Since < Etag
静态 CDN 加速
直接从最近的节点返回内容
动态 CDN 加速
TCP 优化
设计算法来处理网络拥堵和包丢失,加快这些情况下的数据从 cdn 的恢复以及一些常见的 TCP 瓶颈。
Route optimization
就是优化从源到用户端的请求的线路,以及可靠性,就是不断的测量计算得到更快更可靠的路线。
Connection management
就是边缘和源之间,包括 CDN 之前的线路,采用长连接,而不是每一个请求一个连接
On-the-fly compression
就是数据在刚刚离开源的时候就进行压缩,可以缩短在整个网络之中的流通时间。
SSL offload
加速或者说减少一些安全监测,减少原服务器执行这种计算密集型的压力。
多活系统
原则
业务分级:找出核心业务;
数据分类:哪些数据可以丢,哪些不行;
数据同步:多系统间数据同步的方式,异步 or 同步;
异常处理:最后的兜底,日志 or 补偿等;
类型
多读多写:数据分片;
单写多读:典型代表为账号系统数据的强一致性、全局性要求,只能单写;
最终都是基于上面的原则和类型,根据实际业务场景进行设计。
评论