事发原因是部分广东移动用户无法访问API,因为我们的API部署在单节点的七层网络负载均衡后面,所以一旦用户到负载均衡的线路中断就直接挂掉了。相当于一个单点故障。
移动客服大概从来都没有遇到这种问题,打电话过去竟然一时不知该转接哪个部门。实在是一塌糊涂。
但是咱们也不能干等着,一个代理方案马上浮出水面,让用户先访问到一个代理节点,再由代理节点转发请求,应该可以规避这个问题,因为大部分线路都是正常的,只要绕开那个失败节点就可以了。而我选择的这个代理就是CDN。
CDN最大的好处就是分布式,用户可以就近得到一个CDN节点做代理,只要设置全部请求都是0秒缓存就是一个不错的代理。
经过验证结果还不错,访问超时的用户成功的绕开了中断的线路,曲线救国成功。统计数据中,平均多了200ms总响应时常,比起挂掉来讲,还可以接受的。
Pingback: CDN 原理和几种变形(DCDN/ECDN/PCDN/SCDN) – Sooele'blog