摘要:
随着信息爆炸的加剧,微博客网站Twitter横空出世了。用横空出世这个词来形容Twitter的成长,并不夸张。从2006年5月Twitter上线,到2007年12月,一年半的时间里,Twitter用户数从0增长到6.6万。又过了一年,2008年12月,Twitter的用户数达到5百万。[1] Twitter网站的成功,先决条件是能够同时给千万用户提供服务,而且提供服务的速度要快。 [2,3,4] 有观点认为,Twitter的业务逻辑简单,所以竞争门槛低。前半句正确,但是后半句有商榷余地。Twitter的竞争力,离不开严谨的系统架构设计。 【1】万事开头易 Twitter的核心业务逻... 阅读全文
摘要:
SNS和互联网,一些可能未必意识到的事 社会性网络服务-SNS 的本质是成为人们通讯、沟通的社交平台。在最初阶段依靠社会化游戏能快速聚集人群,但很快人们就会玩腻,此时若已偏离“本质”——社交,则SNS网站必会江河日下。可查 kaixin001.com renren.com 在 Alexa.com 的数据为证,且 facebook.com 的成长历程已然证明了这一点。 形成人与人之间“社会化网络”的速度要快,不能细水长流。一个新用户进入SNS网站,要用尽各种办法帮助他快速“团聚”很多好友,缺少“好友”的用户必流失无疑。 数据表明:在SNS网站上,好友数量决定用户是否能保留。一个拥有50+好友的用 阅读全文
摘要:
Linux Network Load Balance(Linux下实现负载均衡) 在现行的许多Web应用中,有时一台服务器往往不能满足大量客户端的访问要求,此时只能通过增加服务器来解决问题。使用一些负载均衡软件可以实现网络负载平衡群集来解决问题。本文将介绍Linux下的实现方法。 This test used Redhat Enterprise 5.0 update3. Network link environment: PC1(virtual server): double NIC, eth0 IP1=192.168.0.254, eth1 IP2=10.0.0.254 eth0 acts 阅读全文
摘要:
开发者不可不知的PHP框架深度解析 PHP成为世界上最流行的脚本语言有许多原因:灵活性,易用性等等。但通常只用PHP或者其他语言编码就会显得单调、重复,这时候就需要一个PHP框架来代替程序员完成那些重复不变的部分。本文通过回答What, When, Why 以及 Which这些问题,将对PHP框架进行全面解析。 PHP框架是什么? PHP框架提供了一个用以构建web应用的基本框架,从而简化了用PHP编写web应用程序的流程。换言之,PHP框架有助于促进快速应用开发( RAD ),不但节省开发时间、有助于建立更稳定的应用,而且减少了重复编码的开发。通过确保适当的数据库交换和在表现层编码,框架还可 阅读全文
摘要:
Web架构设计的几个心得 一,不要过度设计:never over design 这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而全的架构,希望设计出具有无比扩展性,能适应一切需求的增长的架构。Web开发领域是个非常动态的过程,我们很难预测下个星期的变化,而又需要对变化做出最快最有效的响应。 ebay的工程师说过,他们的架构设计从来都不能满足系统的增长,所以他们的系统永远都在推翻重做。请注意,不是ebay架构师的能力有问题,他们设计的架构总是建立旧版本的瓶颈上,希望通过新的架构带来突破,然而新架构带来的 阅读全文
摘要:
架构设计之性能设计经验 性能(performance)设计非常重要,对于服务器端实时交易系统来说系统性能的重要性不言而喻,对客户端软件来说性能好的软件也会获得良好的用户体验,从而给用户留下高质量软件的良好印象。因此在进行架构设计中性能设计非常重要。 但架构设计实际是一个平衡设计,在可用性、可扩展性、可维护性、可靠性、高性能等之间做个妥协选择。这些非功能性的需求再加上复杂的功能性需求,同时还要考虑到项目管理上tight schedule, low cost, perfect effect的三角难题约束,有时需求还不是很明确,vision不是很清楚,这种情况下系统架构设计真是一门艺术。 单就性能设 阅读全文
摘要:
大型网站架构不得不考虑的问题 大型网站架构包括高互动性高交互性的数据型大型网站。以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的Web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,构建网站的语言并不是问题,语言的问题在于怎么合理地应用而不是好和坏的简单品评,不论你选择任何语言,架构都是必须要面对的。 1、海量数据的处理 众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,最多再加几个索引就可以搞定。对于大型网站,每天的数据量可能就上百万,如果一个设计不好的多 阅读全文
摘要:
Web架构师应该具备的能力 最近和几个朋友谈到时下流行的Web 2.0,提到了其中最重要的角色——架构师。多方各有争执,不外乎是因为职业背景和视角的缘故。包括架构一词,本身就从建筑学借鉴而来,至于架构师,则可以简单地从建筑学的设计师来引申,不外乎就是设计结构,设计一个大楼的结构。回到软件本身,那就可以简单地理解为负责设计软件框架的人了。 我们没有讨论清楚架构师、软件架构师、系统架构师及其Web 架构师这些看似相同却有所区别的角色的关键区别,本身见仁见智,也不是一时半会能够说清楚的,最后我们讨论了作为一个Web 2.0 网站架构师需要的一些基本的知识和能力(个人看法,难免有失偏颇): 1,熟知你 阅读全文
摘要:
从开发者协议看各SNS开放平台的开放策略 前几天,开心网终于公布了其开放平台,同时传闻中QQ、盛大、财付通也都在准备开放平台,加上早已开放的人人和新浪微博,开放成为了一个讨论的焦点。一时间网络上充斥着大量鼓吹开放好处的文章,仿佛无论什么产品,打上了开放的标签就战无不胜了。 历史上的开放,既有开放源代码运动这样的成功案例,也有IBM开放PC落了个被收购的反面教材。开放平台并不是简简单单的从技术上公布API,允许 三方接入就可以了的。开放平台是一个战略性的产品,开放什么、不开放什么、怎么开放、开放给谁、不开放给谁、公司能从开放得到什么、三方能从开放中得到什 么,每一个问题都关系着开放平台的成败。 阅读全文
摘要:
了解一个百万级 PHP 网站的架构 Poppen.de 是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5 以及 Tsung。 Poppen.de目前有200万注册用户数、2万并发用户数、每天20万条私有消息、每天25万登录次数。而项目团队有11个开发人员,两个设计,两个系统管理员。该站点的商业模式采用免费增值模式,用户可以使用搜索用户、给好友发送消息、上载图片和视频等功能。 如果用户想享受不受限制发 阅读全文