惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
D
DataBreaches.Net
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
S
Secure Thoughts
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
V2EX - 技术
V2EX - 技术
腾讯CDC
GbyAI
GbyAI
G
Google Developers Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
Help Net Security
Help Net Security
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
H
Heimdal Security Blog
H
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
S
Security Affairs
TaoSecurity Blog
TaoSecurity Blog
The GitHub Blog
The GitHub Blog
Hacker News: Ask HN
Hacker News: Ask HN
Martin Fowler
Martin Fowler
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI

博客园 - 草屋主人

高性能队列Fqueue的设计和使用实践 软件系统开发中的数据交换协议 MySQL与NoSQL——SQL与NoSQL的融合 NoSQL架构实践(三)——以NoSQL为缓存 NoSQL架构实践(二)——以NoSQL为主 NoSQL架构实践(一)——以NoSQL为辅 关系数据库还是NoSQL数据库 NoSQL开篇——为什么要使用NoSQL 利用FUSE把memcached当磁盘使用 使用node.js快速开发透明代理 velocity大会主题演讲内容“移动互联网内容平台的架构和性能优化” InfoQ百度技术沙龙"APP Engine技术应用"主题的总结记录 用于php二进制操作和socket二进制通讯的phpbuffer v0.1开源发布 iDataForum2010数据库技术论坛总结 O'Reilly Velocity性能和运维大会以及我的演讲主题 基于视觉的系统性能优化 【译】适合dba和开发者的mysql最佳实践 如何用队列提升系统性能 基于memcached协议构建自定义协议
移动互联网系统架构的特点
草屋主人 · 2011-02-19 · via 博客园 - 草屋主人

[文章作者:孙立 链接:http://www.cnblogs.com/sunli/ 更新时间:2011-2-19]  

      今天参加了InfoQ组织的百度技术沙龙活动“移动互联网基础技术解析——无线搜索与HTML5开发”,在最后的Open Space环节主持了一个话题“移动互联网系统架构的特点”,现在把讨论的一些重点给记录一下。

      (一)并发性

      相对于有线互联网,移动互联网的网速还是窄带时期,大部分的网络访问都属于慢速连接。一个请求占用的网络连接的时间比有线互联网一个请求占用网络连接的时间要长。在同等的服务器端QPS下,并发连接数要比有线互联网模式的要高。虽然web服务器的并发连接数问题非常容易通过增加机器来进行扩展,但是这个问题需要注意。尽量使用异步网络IO.

      (二)流量

       相对于有线互联网的包月付费模式,移动互联网用户基本都是有限的按流量的包月模式,流量费用昂贵。用户会首选耗用流量低的系统使用,这正是UC浏览器成功的原因。

       所以在系统架构的时候,如果客户端浏览器支持gzip,那么尽量gzip压缩内容。如果是app的客户端程序,最好使用压缩传输内容。

       web网页内容尽量简洁,url连接尽量压缩,省略BaseUrl。

      (三)安全

       有线互联网的在线支付目前非常成熟,在支付的时候可以跳到银行的网站或者客户端进行支付,让用户觉得很安全。而移动互联网可能是服务端通过api支付,用户也觉得不安全。这样某些网站也有可能盗用用户的钱。但是银行通过短信认证即可解决这个问题。

       手机丢失带来的财产损失问题,由于手机丢失,可能造成被人恶意支付。然后提出挂失的功能。来自飞信的朋友说,飞信可以推出直接进行手机号挂失,圆满解决这个问题。

      (四)速度优化

        由于移动网络的速度慢,速度优化就更加要得到重视。比如js,css文件的合并。

        app与服务器端的交互是否使用自定义的协议进行提速。

        网络操作的失败处理。

  (五)兼容性

        移动互联网的终端类型,屏幕分辨率,浏览器类型千变万化。就算同一个手机的同一个浏览器也有适应屏幕模式和缩放模式。如此多的种类给页面的兼容开发带来了很大的难度。往往公司的移动终端测试机器多达几十种,虽然有厂商提供这种服务测试服务,但是对于开发人员来讲,难度可不低。而有线互联网的网站之需要调试下IE,Firefox,chrome几个浏览器即可。

      (六)与有线互联网统一

        很大部分网站都是以有线互联网为主,同时推出移动互联网版本的。但是往往移动版本的功能有缩减,导致某些功能缺失。所以从产品的角度也应该把功能进行统一。

        所以涉及到有线互联网、移动网站、app 客户端的功能统一。

      (七)统计分析

        app客户端软件的用户行为分析统计,可以进行定期往服务器发送。客户端把用户的操作行为先收集起来,进行分析后把结果定期压缩打包发送给服务器。移动网站可以通过服务器端记录日志,js探针(wap2.0的只能手机可能支持)等综合的方式统计。

      (八)测试环境模拟

        有人说,公司开发一款app客户端软件,在公司测试非常完美。等有一天,开发人员在火车上,地铁上拿出手机使用的时候,发现在网络不稳定的时候频繁崩溃。那么这种场景如何进行模拟测试?

      (九)用户真实访问速度的监控

       虽然目前有厂商进行移动网络对移动互联网进行速度监控和分析。但是他们的点基本都是固定的,可能是信号较好的地方。那么我们的应用的真实用户访问的速度到底是怎么样的,如何统计?

      根据应用的类型,有些应用可能在家,公司等有wifi ,信号好的地方使用。而有些应用很多情况下在信号差的地方使用,所以使用第三方的监控还不完全可靠。

       (十)需求变更更频繁

       由于移动业务的特点,需求变更的实时性要求更高。如何快速,高效完成需求的变更,而又不影响系统性能?这给移动开发者也提出了一些挑战。难道就只能加班?

      总结

      以上为今天讨论的移动互联网架构相对于有线互联网的特点,其中大部分还是跟有线互联网是一样的,比如数据库架构,存储的架构等等。