快生活 - 生活常识大全

一个移动互联网应用地图服务架构


  在移动互联网中,各种与位置相关的服务都严重依赖于地图服务,地图服务质量的好坏很大程度决定了所提供服务的高低。尽管有Google Map等免费或收费的地图服务可供使用,但没有那一家地图服务提供商能够完整提供移动互联网应用所必须的各种地图服务及数据,尤其是针对那些垂直行业应用。
  在中国特色的制度下,除了技术因素外,值得注意的是由于地图牌照发放问题带来的政策上的不确定性对架构实现的冲击和挑战。
  地图服务架构设计原则:
  1、高性能:由于目前的移动互联网带宽仍是较大的制约因素,在客户端用户的等待耐心有限,因此地图服务必须将性能作为首要设计要素。而且像google map之类的免费服务由于防火墙原因经常不稳定或异常缓慢,需要在架构设计时候重点考虑。
  2、低成本:尽管一些收费的地图服务已经提供了一些比较完整的地图数据、POI数据,但对于初创型的公司而言,资金有限,因此在技术能力许可的情况下,与其购买昂贵的服务,还不如采用低成本的DIY方案。
  3、架构灵活:能够适应客户端、服务器端服务的变化,能够应对政策因素等问题带来的冲击。可以在不同地图服务及本地服务间切换,不能因政策因素导致服务的不可用。
  4、持续积累:对于移动互联网公司而言,针对垂直领域POI数据及地图数据的积累也是产品的核心竞争力,因此架构必须有助于相关数据的积累。
  客户端使用SDK访问地图服务 VS. 客户端访问自己服务器端代理
  a、如果由客户端直接访问google map之类的地图服务,则如果地图服务需要调整(例如需要从google map切换到其他地图服务、地图展示内容需要调整时候),都需要客户端升级;如果由服务器端代理完成,只需要服务器升级即可。
  b、服务器端可以缓存客户端频繁访问的地图访问请求(例如搜索周边、根据经纬度定位地图、根据地址定位地图等),可以极大提高性能
网站目录投稿:采蓝