技术开发 频道

社交化是移动应用发展的必然趋势

  如何在移动互联网领域做一个合理的技术架构

  架构并没有一个通用的准则,而是要针对应用的特点。移动互联网有很多的产品形态,有微博,电子商务,社交分享,IM等等,产品形态对于客户端的轻重也不同,但是也有些通用的原则可以借鉴:

  1、 把一个服务于PC端的sever直接作为移动互联网应用的服务器端,然后开发一个移动客户端,这种模式是必然失败的。移动客户端和PC客户端的能力不一样,其中包括移动客户端的计算和缓存能力与PC客户端存在很大的差异性。以前在PC客户端完成计算任务,包括数据落地和缓存任务等等,但是到了移动互联网,移动客户端的计算任务要在server端完成。目前公司的一些应用在传统的服务器端和移动客户端之间加了一些应用代理的角色,帮助移动客户端处理一些离线缓存,负责运算等功能。

  2、 移动互联网接入不稳定,而且网速普遍比较慢,单台服务器处理的并发能力上弱于PC客户端。每个连接保持的时间较长,因此在容量规划方面要针对移动互联网的特性进行规划,而且服务器的配置也会针对移动互联网在低速连接,同传比较多的特性进行模拟,选择一些合适的服务器。或许单台服务器的配置会降低,数量会增加,选择一些可以方便进行横向扩展的服务器。

  提到在基础架构的选择上,移动互联网的一些公司应该怎样做,孙朝晖表示:除了接入层之外,对服务器端来说基本上和传统互联网差别不大,移动互联网从服务器角度来说主要在于接入层的处理,比如说协议要压缩,但是又不可能破坏核心系统协议,这就需要中间的代理层做协议的转换,通过减小数据量,减小连接次数等策略。核心系统的逻辑和接入层的逻辑要分离,应用逻辑要和网络维护逻辑分离。

  移动互联网应用很大一部分工作是为了处理连接的可靠性,和处理低速连接进行设置的。这部分的能力要和应用处理的能力有效的隔离,保证服务器端的稳定和持续的升级能力。

  对于客户端来说,并没有统一的标准,移动互联网的挑战在于客户端,现在的移动客户端种类很多,处理能力差异很大。比如iphone应用和SymbianV3版本的应用处理能力会有很大的差异。

  原则上讲,适配工作在服务器端不要影响核心逻辑,需要针对移动互联网做调整的部分在中间代理部分做,在核心系统的周围对于接入服务,飞信SNS平台也剥离出来了一些独立的角色,帮助移动客户端做状态保持工作。

0
相关文章