摘要:
又拍网架构中的分库设计[转自INFOQ]又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章里,我要介绍一些我们在技术上的积累。又拍网和大多数Web2.0站点一样,构建于大量开源软件之上,包括MySQL、PHP、nginx、Python、memcached、redis、Solr、Hadoop和RabbitMQ等等。又拍网的服务器端开发语言主要是PHP和Python,其中PHP用于编写Web逻辑(通过HTTP和用户直接打交道), 而Python则主要用于开发内部服务和后台任务。在 阅读全文
2011年1月13日 #
摘要:
很高兴在杭州的淘宝研发中心来采访伏威,伏威你好。 你好。 其实到现在为止距离淘宝双十一事件已经过去蛮多天了,但在整个技术圈里面大家还是津津乐道。我这次在采访之前在和一些网友做沟通的时候,他们也提出了非常多非常有意思的问题,包括一些高并发的,一些压力测试的等等,那我希望也代表这些网友和你做一个交流。那第一个问题就是,在那么大的访问量,淘宝的技术团队是如何做到一个高并发处理的? 对于高并发处理,简单来说呢,就是如何通过集群方式去并发处理用户的请求,那说复杂它是一个比较完整的体系,那可能我就没有办法一一的把它说全了。我可以从前往后给大家说几个点:比如说我们的CDN,你如何把静态的图片,还有静态 阅读全文
摘要:
伏威你好,请简单给我们做一下自我介绍,以及你在这次淘宝双十一事件中所扮演的一个角色。 OK,我是淘宝产品技术部主要负责商品线的Leader。我叫唐勇,花名叫伏威。这一次双十一我在里面主要担当了一个联系人的角色,因为我所在的产品技术部,主要负责的是淘宝主站交易,就是我们的交易系统,像商品线等一些系统全部在这个部门里面。因为我所在的这个部门的职责以及我对他们的了解,这次就承担了这样的一个协调工作。因为我以前做交易线的时候和支付宝也打过交道,跟支付宝之间的交流,去协调,还包括旺旺等其他一些外部和内部的联系都是我在做。 就是整个双十一事件里面所涉及到所有和外围技术团队的沟通都是你来负责? 是的, 阅读全文
摘要:
我现在在杭州的淘宝研发中心,在对康伯做采访。康伯先跟我们大家介绍一下你自己,包括你的团队。 大家好,我是康伯,这是我花名,我的真名叫高山渊。我的团队是负责整个淘宝的CDN的建设、运维。 我们也知道,这一次淘宝“双十一”事件,其实CDN这一块也面临着非常大的压力。我们想了解一下,在这个事件之前,你做了什么样的预案?在整个的事件发生的过程当中,预案和你整个的一个实际的情况有哪些比较大的差异? 我们第一时间知道这个活动的时候,就对我们的系统做过一些评估。当时,我们预计流量会增长大概30%左右。在预案中认为我们的系统是有30%的余量的。但是我们觉得30%是不太够的,我们临时采取了一些措施,比如说 阅读全文
2011年1月10日 #
摘要:
大型网站架构演变和知识体系 之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:),文中的不对之处也请各位多给点建议,让本文真正起到抛砖引玉的效果。!--[if !supportLineBreakNewLine]--! 阅读全文
2011年1月6日 #
摘要:
第3章伸缩性架构设计 3.1简介 交互行为使得这类系统基础设施的伸缩性问题变得更复杂,Darkstar项目是对这些游戏和虚拟世界创建者的需求挑战的回答。这个项目由Sun公司实验室的一个研究小组承担,它将在架构的伸缩性领域不断探索. 3.2背景 这种应用需要能够从很小的系统开始.然后随着用户数的增长而增加处理能力.最后随着大家对游戏兴趣的衰退而降低处理能力.这与分布系统的特点相符,在分布式系统中,我们可以随着请求增长而添加(合理的小)机器,当请求下降时移走机器.所以我们从一开始就知道,总体架构必须是一个分布式系统。MMO和虚拟世界应该是多桉芯片和分布式系统的理想候选者。 3.2.1首要目标 阅读全文
摘要:
大型门户网站的可伸缩性架构设计2009-12-28 来源:网络我们知道,对于一个大型门户网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分:1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。2. 静态动态分离:静态文件和动态文件最好分离开成2个网站,我们知道静态网站和动态网站对服务器来说压力的侧重不同,前者可能重IO后者重CPU,那么我们在选择硬件的时 阅读全文
2011年1月5日 #
摘要:
截断事务日志所要注意的问题数据库使用的时间一长,日志也随之成长,当日志占用了较多的磁盘空间时,为节省宝贵的磁盘空间,往往要清除一下日志,笔者也见过很多网上流传的截断日志的方法,总的来说那些流传的方法是有效并可行的,但它忽略了一些要点,容易让新手犯下大错!首先,我们先谈谈 Backup Log ... With 所使用的几个参数:WITH NO_TRUNCATEWITH TRUNCATE_ONLYWITH NO_LOG1.WITH NO_TRUNCATE 用来备份日志,使用该选项后,MSSQL 会将当前数据库中所有活动进程写入到日志中,因此,NO_TRUNCATE 可以保证数据恢复到最后的更新状 阅读全文
2011年1月1日 #
摘要:
TBCompressor公司原先的JS和CSS文件都是用在线压缩程序压缩的,看似方便,但很容易出错,可能是压缩程序把CSS里面的一些Hack语句给混淆了,于是我决定用大名鼎鼎的YUI compressor。但YUI compressor也有一个缺点,那就是操作不人性化,要用输入命令行的方式进行操作,在实际应用中也有点不方便。今天发现了淘宝人开发的一个软件——TBCompressor,这个软件是在YUI compressor的基础上改进的,使用十分简单,详情请看lifesinger的《TBCompressor – JS和CSS压缩工具》一文。下面是TBCompressor的使用方法,下载请到ht 阅读全文
2010年12月31日 #
摘要:
软件工程领域的DDD 2004年著名建模专家Eric Evans发表了他最具影响力的著名书籍:Domain-Driven Design –Tackling Complexity in the Heart of Software(中文译名:领域驱动设计 2006年3月清华出版社译本,或称 Domain Driven-Design architecture [Evans DDD])。 DDD是告诉我们如何做好业务层!并以领域驱动设计思想来选择和合适的框架。 我们知道软件的产生过程是:分析、设计、编程、测试、部署。过去,分析领域和软件设计是分裂的,分析人员从领域中收集基本概念;而设计必 阅读全文