一个移动互联网应用地图服务架构
在移动互联网中,各种与位置相关的服务都严重依赖于地图服务,地图服务质量的好坏很大程度决定了所提供服务的高低。尽管有Google Map等免费或收费的地图服务可供使用,但没有那一家地图服务提供商能够完整提供移动互联网应用所必须的各种地图服务及数据,尤其是针对那些垂直行业应用。
在中国特色的制度下,除了技术因素外,值得注意的是由于地图牌照发放问题带来的政策上的不确定性对架构实现的冲击和挑战。
地图服务架构设计原则:
1、高性能:由于目前的移动互联网带宽仍是较大的制约因素,在客户端用户的等待耐心有限,因此地图服务必须将性能作为首要设计要素。而且像google map之类的免费服务由于防火墙原因经常不稳定或异常缓慢,需要在架构设计时候重点考虑。
2、低成本:尽管一些收费的地图服务已经提供了一些比较完整的地图数据、POI数据,但对于初创型的公司而言,资金有限,因此在技术能力许可的情况下,与其购买昂贵的服务,还不如采用低成本的DIY方案。
3、架构灵活:能够适应客户端、服务器端服务的变化,能够应对政策因素等问题带来的冲击。可以在不同地图服务及本地服务间切换,不能因政策因素导致服务的不可用。
4、持续积累:对于移动互联网公司而言,针对垂直领域POI数据及地图数据的积累也是产品的核心竞争力,因此架构必须有助于相关数据的积累。
客户端使用SDK访问地图服务 VS. 客户端访问自己服务器端代理
a、如果由客户端直接访问google map之类的地图服务,则如果地图服务需要调整(例如需要从google map切换到其他地图服务、地图展示内容需要调整时候),都需要客户端升级;如果由服务器端代理完成,只需要服务器升级即可。
b、服务器端可以缓存客户端频繁访问的地图访问请求(例如搜索周边、根据经纬度定位地图、根据地址定位地图等),可以极大提高性能
c、服务器端可以在地图服务商的结果上,增加自己的一些操作及数据,例如服务器端可以聚合自己POI数据及其他服务提供商的数据,然后添加到google map结果集上
d、客户端并不是很适合做一些复杂的计算,例如对于POI及其他内容数据的聚合、图层操作,服务器端来完成更合适
当然采用服务器端代理的方式也有一些问题,例如google map对每天api调用次数可能有限制、采用客户端现成的SDK方式开发相对简单等。具体需要根据自己业务实际需要采用合适的架构。
来源:http://www.yeeach.com
-
微信创始人张小龙首次公开演讲(官方无删减版)
微信创始人张小龙首次公开演讲(官方无删减版) -
如何通过APP看到产品战略层面
产品经理拿到一款产品的时候,不能只能看到表面信息,而是要能看到产品背后的信息。 -
基于用户的“真需求”创新产品
产品创新是保证企业在竞争激烈的市场上长久生存的关键,今天,我们就围绕产品创新和用户研究分享一些看法。 -
有一种交互设计研究验证叫“设计走查”
如何在最短的时间内对自己的产品做出检验,确保其在定位、设计、营销计划等多个环节,在可视范围内是正确的,需要一套比较科学、完善的方法去做出检测。 -
你为什么离不开微信?
张小龙说用完即走,你却爱不释手; 到底是什么让你离不开微信? -
移动互联时代APP的发展方向
现在我们已经走上了移动互联网时代,无论是企业还是公司,都会经过网络竞争中争取有利的优势,较为传统的产品竞争逐渐向互联网竞争转型,出现了很多数据云大数据等等 -
AI 时代产品经理的机遇和挑战
AI 时代产品经理的机遇和挑战 -
前1%与前10%的产品经理差距在哪?
前1%与前10%的产品经理差距在哪? -
你有哪些策略应对不断的需求变更?
你有哪些策略应对不断的需求变更? -
如何运营天猫【十亿俱乐部】商家页面?
如何运营天猫【十亿俱乐部】商家页面?