传统CDN加速不给力,来看适合GIS的Geo-CDN

CDN(内容分发网络)可用于解决由于网络带宽不足、物理距离遥远等因素引起的网站访问质量下降问题,并在GIS行业中得到应用。但GIS中使用的CDN时,遇到了部署复杂、瓦片分发不统一等问题,因此SuperMap提出了适用于GIS的Geo-CDN,为用户构建行业应用系统提供更高效的方式。
###什么是CDN技术?
随着互联网用户规模的膨胀,用户服务访问效率低下的情况越来越明显。造成这种现象的主要原因在于网站出口带宽有限,以及跨网访问时不同网络间的互联互通带宽受到限制,因此容易造成网络拥堵。同时服务端到用户的物理距离非常遥远,不可避免地带来较长的传输时延。这些问题随着请求访问量的增加,严重影响了用户体验。在这种情况下,产生了一项互联网基础服务——CDN,即内容分发网络。
网站维护人员将网站内容注入CDN系统中。通过CDN部署在各个物理位置的缓存服务器,可对网站进行全网分发。CDN实现了跨运营商、跨地域的用户覆盖,使用户可就近从缓存服务器中获取资源,从而缩短访问时间。对于网站来说,无论是静态、动态网页,视频内容还是下载文件,都可以通过CDN实现加速。
CDN系统架构由分发服务系统、负载均衡系统和运营管理系统三部分组成。其中分发服务系统和负载均衡系统的构建,都需要部署具有相应功能的软件。例如在分发服务系统中使用Squid进行代理缓存,使用LVS或Nginx、BIND构建负载均衡系统。

![这里写图片描述](https://img-blog.csdn.net/20170417140524735?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VwZXJtYXBzdXBwb3J0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图 1采用CDN的用户访问流程图
###通用CDN在GIS中的应用与局限 引入CDN前,GIS系统的用户与GIS服务器是直接交互的。用户的请求结果直接由GIS服务器提供。相比互联网中的资源,GIS中的数据资源具有更大数据量的特点,如二维、三维、矢量、影像等,往往会占用更多的带宽资源。因此,随着数据量越来越大,以及用户请求访问量不断增加,GIS系统中更容易出现网络拥堵的状况。
![这里写图片描述](https://img-blog.csdn.net/20170417140539969?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VwZXJtYXBzdXBwb3J0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图 2引入CDN前的GIS应用部署架构
面对上述问题,Mapbox、天地图及其他互联网地图都采用了CDN来为地图服务加速,并可根据区域进行地图缓存。 但我们把通用的CDN直接应用在GIS中时依然存在一定的局限。例如从A地前往B地后,您想要查看一些关于A地的情况。而一般的CDN通常会选择距离您最近的、部署在B地的缓存服务器来向您提供服务。然而由于B地的服务器缓存的是本地的内容,对于A地内容的请求需要向中心服务器动态获取数据,这就难免会增加服务响应时间,影响服务质量。 此外,无论是自建的CDN,还是CDN服务商提供的CDN服务,对瓦片的分发都只能是逐张进行,不能统一分发,因而为资源管理带来不便。 ###GIS中的CDN—Geo-CDN 针对以上问题,为进一步提升用户的访问体验,SuperMap将CDN与GIS业务领域特点相结合,提出了适用于GIS的CDN——Geo-CDN。 应用Geo-CDN后,GIS服务器将不再直接响应客户端请求,而是由各边缘节点即缓存服务器,以代理发布的方式对服务进行分发,并最终提供给终端用户。为了部署方便,通常使用DNS服务器作为全局负载均衡设备。例如使用BIND这一开源DNS服务器软件。
![这里写图片描述](https://img-blog.csdn.net/20170417140551505?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VwZXJtYXBzdXBwb3J0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图 3 Geo-CDN部署结构
Geo-CDN的系统不仅可以通过IP判断哪一台缓存服务器距离用户最近。还可以根据请求来判断哪一台缓存服务器上具有用户所需的内容,便由该服务器响应用户请求。因此即使在B地查看关于A地的内容,也能快速得到响应。 另一方面,Geo-CDN对于瓦片的分发是以瓦片包的形式进行的,而非逐张分发,大大降低了资源管理的难度。不仅最常规的地图瓦片,矢量瓦片、属性瓦片包都可以进行分发。 Geo-CDN的根本作用在于提升终端用户的访问体验,具体体现则是引入Geo-CDN后改进了GIS系统处理用户请求的方式。 具体来说,引入Geo-CDN前,用户点击网站页面上的内容URL后,首先由网站的DNS对域名进行解析,解析的结果为GIS服务器的IP地址,客户端就会直接向GIS服务器发送请求。
![这里写图片描述](https://img-blog.csdn.net/20170417140604692?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VwZXJtYXBzdXBwb3J0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图 4引入Geo-CDN前服务访问流程
引入Geo-CDN后,服务访问的效率提升了,但用户并不会感觉到CDN的存在。图 5展示了引入Geo-CDN系统后用户的访问流程。其中使用了BIND作为Geo-CDN的DNS,并在各地部署了缓存服务器。 (1)用户向网站的DNS进行发起域名解析。 (2)网站DNS服务器中会有一条CNAME记录,指示将域名解析权交给Geo-CDN专用DNS服务器。 (3)Geo-CDN专用DNS服务器对该域名进行解析,并选择一台最优的缓存服务器,将其IP返回给用户。 (4)-(5)用户向最优服务器发送请求,服务器响应请求,将用户所需内容发送给用户。
![这里写图片描述](https://img-blog.csdn.net/20170417140614755?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VwZXJtYXBzdXBwb3J0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 图 5引入Geo-CDN后用户访问流程
如果某区域的用户访问量太大,单台缓存设备在处理繁重的内容分发任务时会出现严重的性能瓶颈。这时,就需要在此区域部署多台缓存设备,以及本地负载均衡设备如Nginx。 ###结语 CDN(内容分发网络)被用来解决由于网络带宽不足、物理距离遥远等因素引起的网站访问质量下降的问题。为了解决类似的状况,GIS行业中也引入了CDN,并在互联网地图中广泛使用。但通用的CDN存在部署复杂、瓦片分发不统一等问题,因此SuperMap提出了Geo-CDN,为用户构建行业应用系统提供更高效的方式。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值