专访新浪微博技术经理杨卫华:微博产品应用开发谈
创始人
2024-06-29 11:20:30
0次

【51CTO独家报道】随着新浪等门户网站对微博产品的推出,越来越多的人开始使用这种新的Web2.0应用方式,微博客的产品形式也受到越来越多的关注。

对于开发人员而言,微博产品的开发与传统的Web应用开发有哪些不同?在开发与实现方面会遇到哪些技术难点?如何走进微博应用的开发?带着这些问题,51CTO记者在上周举行的Qcon 2010上有幸采访到新浪的产品部技术经理,主要负责新浪微博开发的杨卫华先生。 

新浪产品部技术经理杨卫华先生接受51CTO记者采访 
杨卫华先生接受51CTO记者采访

微博开发与传统Web开发

微博是Web2.0的一种核心应用,与博客、论坛等传统的Web 2.0产品相比,博客和论坛更关注内容到保存和展现,而微博除了具有上述的功能外,还具有自己的特点,在采访中,杨卫华先生指出,微博产品具有实时性、关注与被关注、内容聚合三个特点。

实时性:微博的消息传送需要更小的延迟,发布的消息用户可以及时的看到自己所关注的信息;博客、论坛的实现形式延迟性较大,并不适合微博的技术特点。

关注与被关注:微博用户的主要应用形态聚集在关注与被关注者消息的实时传递,这将设计到大量关注着的内容聚合和展示。

内容聚合:所有关注者的消息会聚合呈现在用户页面,而且保证最佳的实时性。

在具体的技术开发中,一些主要的技术难点将围绕着这三个特点展开。微博产品中,用户所关注的多个对象的实时聚合展示,在一些应用场景下,将导致下面的问题——访问峰值。

微博开发的技术难点——访问峰值

一般Web应用的访问量是可以预估的,比如博客或CMS系统,通过一些流量监控空间和用户行为分析,可以预先估计到用户访问量的时段特点。但微博不同,作为一个信息传播平台,在一些突发事件、热门事件等发生时,会有大批量的用户参加进来,系统会随时遇到访问的峰值。

访问峰值的问题,新浪主要从以下三个方面来解决

硬件:面对微博随时可能发生的高访问量,新浪首先从硬件基础实施和网络环境上做保障,在全国各省中心城市的一线机房部署服务器,保证时时畅通;

开发:在程序实现上,新浪微博对功能代码严格把关,并在上线之前进行充分的压力测试,找出性能瓶颈并解决。

另外,对图片、JS等静态资源新浪微博采用CDN的方式来分担流量。

海量数据处理

随着Web应用的发展,越来越多的网站遇到海量数据的存储和处理方面的问题。微博产品更是如此。随着应用时间和用户的增长,微博的消息数量也会成指数级的增长,同样也会面临到海量数据存储的问题。

目前,海量数据存在两种解决方案,传统的关系数据库和NoSQL。

在关系数据库中,通过sharding的手段将数据分散到多台服务器上。对于微博这种产品,由于话题、热门的讨论是有时段的,可以通过时间来分片进行sharding。

还有一种是NoSQL的方法。目前知名微博网站Twitter已经在尝试Cassandra分布式数据库,对于数据规模增长非常快的网站,NoSQL的Key-Value存储形式可以保证很好的伸缩性和高可用性,产品内部可以实现不停机的修改能力。

在之前对豆瓣网首席架构师洪强宁先生的采访中,他也强调了NoSQL对大数据量Web2.0网站的好处。

走进微博应用开发

目前Twitter的70%以上的流量都来自第三方API的应用,在采访中,杨卫华先生透露,新浪也正在计划开放平台,希望更多应用开发者写应用;希望更好的创意可以在新浪微博体现。

对于传统的Web开发者,该如何走进微博应用的开发呢?

杨卫华先生说,做微博应用开发,一方面,要找一个好的创意,对应用的形式和内容有一个好的把握。国外微博平台有很多好的应用,但借鉴之外,还要注意中国用户的使用习惯。

第二点就是习惯与开放平台和API的使用。杨卫华先生推荐了新浪云开发平台(SAE),这是新浪推出的云计算平台,目前还处于Beta版。使用新浪云平台,可以方便的对系统进行扩展,不需要担心硬件和设备。

关于CDN:CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。

 

关于NoSQL:请参考51CTO之前的报道《对SQL说不!NoSQL的数据库技术革命》和《探寻关系数据库和ORM的最佳替代者》

关于Cassandra:Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。

关于SAE:新浪的云开发平台,类似Google的GAE,提供PHP语言的支持,目前还处于Beta阶段。

点击第二页查看杨卫华先生访谈视频#p#

访谈视频

 

 

【编辑推荐】

  1. 专访豆瓣网首席架构师洪强宁:Python,简单的力量
  2. 专访Twitter工程师:SNS产品发展途中的那些事儿
  3. 专访豆瓣网首席架构师洪强宁:BeansDB与NoSQL的应用与发展
  4. 专访邓草原:从对象和函数式到现实世界的项目

 

 

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...