【SQL开源代码栏目提醒】:网学会员,鉴于大家对SQL开源代码十分关注,论文会员在此为大家搜集整理了“专访新浪微博技术经理杨卫华 - 期刊论文”一文,供大家参考学习!
专访新浪微博技术经理杨卫华微博产品应用开发谈1 对于开发人员而言微博产品的开发与传统的Web应用开发有哪些不同在开发与实现方面会遇到哪些技术难点如何走进微博应用的开发带着这些问题51CTO记者在上周举行的Qcon 2010上有幸采访到新浪的产品部技术经理主要负责新浪微博开发的杨卫华先生。
【51CTO独家报道】随着新浪等门户网站对微博产品的推出越来越多的人开始使用这种新的Web2.0应用方式微博客的产品形式也受到越来越多的关注。
对于开发人员而言微博产品的开发与传统的Web应用开发有哪些不同在开发与实现方面会遇到哪些技术难点如何走进微博应用的开发带着这些问题51CTO记者在上周举行的Qcon 2010上有幸采访到新浪的产品部技术经理主要负责新浪微博开发的杨卫华先生。
杨卫华先生接受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版。
使用新浪云平台可以方便的对系统进行扩展不需要担心硬件和设备。
关于CDNCDN的全称是Content Delivery Network即内容分发网络。
其目的是通过在现有的Internet中增加一层新的网络架构将网站的内容发布到最接近用户的
网络边缘使用户可以就近取得所需的内容解决Internet网络拥挤的状况提高用户访问网站的响应速度。
关于NoSQL请参考51CTO之前的报道《对SQL说不NoSQL的数据库技术革命》和《探寻关系数据库和ORM的最佳替代者》 关于CassandraCassandra最初由Facebook开发后转变成了开源项目。
它是一个网络社交云计算方面理想的数据库。
以Amazon专有的完全分布式的Dynamo为基础结合了Google BigTable基于列族Column Family的数据模型。
P2P去中心化的存储。
关于SAE新浪的云开发平台类似Google的GAE提供
PHP语言的支持目前还处于Beta阶段。