为什么需要
ToC的业务,由于服务直接提供给用户使用,所以对服务的时延,平响要求比较高。如果因为跨地域的网络传输而造成较高时延,而用户有感的话体验不好,这个时候则需要做网络加速。
服务网络加速
开始之前
先考虑下是否需要, 以及什么场景下做。
是否需要
现在大家用的移动设备普遍都是4/5G,网速其实很快,宽带就更不用说了。很多时候服务响应慢,不一定是网络问题,所以在开始之前,对于”需要”网络加速的服务,先要考虑下是否真的需要加速,这里有多判断方式,最常用的便是打点监控,下图以一个简化的在线服务为例,在客户端和服务端a,b,c,d,e分别打点。
- 先关注服务器处理耗时, 即b到c之间耗时
- 再关注网络耗时 ,a-d之间耗时 减去 b-c之间耗时,差异不大 ,则说明传输耗时小,不是瓶颈
如果差异较大,明确是网络造成的时延,则可以考虑网络加速。
不同场景
这里分为静态和动态的,
静态:包括文件类型的图片,媒体资源流,按标准的CDN做, 备份到边缘节点。
动态:服务接口加速 ,下面细说下这部分,
服务接口-怎么做网络加速
在线服务加速,怎么做?这里思路是 智能DNS(有时也叫Geo DNS) 加上 多区域。
1,智能DNS:选一个智能DNS 服务厂商,然后动态路由,让用户就近接入。
原理可以参考这篇 : 【就近接入,智能DNS-Geo DNS ,大揭秘!】
2,多区域 :选一个加速节点 或者 自己建设多区域。
场景举例,假设我们的服务器在北京,而用户来自全国各地,如何提升访问北京服务器的速度,
2.1 加速节点
该方案的主要是借助于 ,云供应商提供的加速节点,云服务供应商比如阿里云GA全球加速,AWS-POP全球多服务入网点,会提供相应的服务,开启加速节点,使用云服务供应商优化网络,比直接走公网要快,从而达到服务加速效果。
2.2 区域多节点
该方案对于相同服务,异地部署独立服务以及数据库,每个服务可独立提供服务,属于异地多活。
两种方案对比
多区域 | 加速节点 | |
---|---|---|
优点 | 加速效果最优,且可以异地容灾 | 简单,部署快捷 |
缺点 | 异地多套服务,维护成本高 | - |
适合场景 | 服务平响要求极高,流量大, 运维足,所以大型公司往往会选用这种 | 服务平响要求高,流量中等,运维人员少,中小公司。 |
小结
服务是否真的需要网络加速 ,以及怎么进行网络加速,根据实际的业务场景,指标综合判断即可。