移动互联网系统架构十大陷阱
过去的三年,54chen一直奋斗在中国移动互联网一线,历经各种坑爹的情况。以下特做记录。
Top 1.时不我待 连通性
cmwap cmnet这样的词语以后应该都会消失在人世间。三年前,经常性地有移不动联不通手机连不上服务器机房的情况。两年前,这种情况要好了一些。一年前,改善很多。现在还存在。相信未来会越来越好,时代在召唤!解法,花钱找有“背景”的机房。
Top 2.生不逢时 HTML5
在去年的网络情况下,HTML5依旧不适合用来做优秀的app。前几年的时候,网速各种烂的情况下,2G下的html5应用基本上完全不能用。现在好一点,开始有闲人把html5全部封装好native的调用,使其只做view的显示部分,但是,性能也是个大问题。当然了,同样地,相信未来会越来越好,同样是时代在召唤!解法,过几年再用。
Top 3.环境恶劣 DNS
DNS解析也有失败的情况下,app做得再漂亮,请求也不可达。IP要比域名靠谱一些,却有别的问题。解法就是在客户端多留下点域名和ip,一个不能用换下一个。
Top 4.车匪路霸 http拦截
天朝运营商,可以干得出你想不到的事情。各种小广告帖你家防盗门上。所以你最好还是在header里声明好了:畜生,这个不是html,这是json,不要加广告!
Top 5.五花八门 app添加按钮一定要克制
特别是android app,完全没有限制,或者统一标准,什么样的App都有,做一个大气的App,最重要的一点,看看能不能打开就是主要功能,手指点一下就能到重要功能。
Top 6.逆流而上 完全不要在传统web上有所期待
除了新浪微博、QQ空间这种从传统web上推出的App之外,几乎不可能在完成一个App之后,能够让用户按你的引导打开一个网站。其难度不低于当年在传统广告商打完广告,等用户来访问网站一样。
Top 7.天下大同 App上的sqlite与服务器的mysql数据同步,是个大麻烦
当App也有一个db在保存数据的时候,就会接二连三地出现数据不一致的问题。最好的解法,公司有个统一的同步机制,最好是固定的框架代码,让业务逻辑隔离开这个同步过程。当然,实际工作过程中,我们甚至还想把所有的云端数据只当成备份,干脆全部交给客户端工程师来完成逻辑,我们让cluster更加可靠和可扩展。
Top 8.通则不痛 下载渠道要通畅
动则几M的包,下载不通畅,基本上分分钟新增用户就归零了。而且,要上CDN。这里有个坑,有些个CDN厂商的代理服务器可能会出现缓存有限的情况,文件太大会出现前半部分下载挺快,后面越下越慢,请谨慎使用。
Top 9.兵贵中速 移动网络更新太快不是好事,太慢也不是好事
你看看哪个App天天在更新,已经不是web2.0时代了,亲! 同时,不要慢速运转,你的伙伴们会养成拖拉的习惯。最好的办法,内部天天更新,外部月更新甚至是季更新。
Top 10.未雨绸缪 一定要提前准备全体用户可以看到的公告条,以备不时之需
web2.0时代,我们要维护系统,在全部页面顶部加一个黄条:今天xx点全站维护。移动时代,这不太可能了,于是你会看到各种微博公告、微信公告、xx公告,反正就是不在自己家公告,因为自己家坏了要维护。
想快点找到作者也可以到Twitter上留言: @54chen
或者你懒得带梯子上墙,请到新浪微博:@54chen
建议继续学习:
- 面向移动设备的HTML5开发框架梳理 (阅读:5943)
- 移动产品设计之场景感 (阅读:3542)
- Java陷阱(2010版) (阅读:3242)
- JavaScript性能陷阱 (阅读:3152)
- PHP数据类型隐性转换的陷阱 (阅读:2977)
- 优先为移动设计带来的优势 (阅读:2848)
- 移动网站开发――标记语言 (阅读:2680)
- 一次租房的移动体验 (阅读:2462)
- 移动互联网时代谁主沉浮 (阅读:2337)
- 类型转换-无处不在的陷阱 (阅读:2267)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:54chen 来源: 五四陈科学院-坚信科学,分享技术
- 标签: 移动 陷阱
- 发布时间:2013-10-18 12:30:20
- [40] Oracle MTS模式下 进程地址与会话信
- [40] android 开发入门
- [39] IOS安全–浅谈关于IOS加固的几种方法
- [36] 图书馆的世界纪录
- [36] Go Reflect 性能
- [35] 读书笔记-壹百度:百度十年千倍的29条法则
- [35] 如何拿下简短的域名
- [33] 【社会化设计】自我(self)部分――欢迎区
- [29] 视觉调整-设计师 vs. 逻辑
- [28] 程序员技术练级攻略