1:APP服务器的设计其实和WEB来说,结构模式差不多,或许对APP服务端来说 页面的展示层换成了JSON数据格式等,
2:服务端需要统一数据传输格式,这种设计结果一般可以:
把一些特定的数据,可以作为日志记录 分析用户,等统计结果
HEAD中
{
clientInfo:{
pkg:“”,
imei:“”,
...
},
userInfo{
...
}
vfc:"" //验证部分
}
2:接口的设计
服务端接口设计的原则是尽量能满足客户端的变化,如,客户端升级而某些功能不能用了,该怎么办呢、
所有设计接口要尽量能够包容变化
比如: 1.0版本的客户端支持做某些类型数据的列表,而2.0版本的客户端却不能支持1.0的某些类型数据的列表
如果按照 /**/list?ps&pn
到了2.0里 接口如果还是保持/mission/list?pn&ps的话,处理逻辑里 就需要更加vc版本号 而取不同的数据列表
如果是升级到3.0呢?4.0呢
所以接口 可以这样 客户端的要什=么就返回什么
/**/list?supportType&ps&pn
客户端把需要的支持的类型传到服务器,该类型一般java中是枚举定义
接口的相同类型设计尽量覆盖多的数据,避免请求多次不需要的请求。
总之,尽量把接口设计的更容纳。
2:表结构的设计
在用户量比较小的情况下,表的设计是看不出什么弱点来着,
特别是用户量比较大,对和用户id相关的表设计要注意
比如: 保存用户安装的应用这样需求的表
USER_ID, RESOURCE_ID, PKGNAME...
用户量很大的话 这张表就被发达了n个安装应用*用户数
就很合理了, 把安装的应用表 独立出去
ID PKGNAME ....
然后
USER_ID PKG_MAPPING_ID
再后面 ,就要考虑分区,垂直水平分离, 集群...