罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。洪强宁,2002年毕业于清华大学,现任北京豆瓣互动科技有限公司首席架构师。洪强宁和他带领的技术团队致力于用技术改善人们的文化和生活品质,在网站架构、性能、可伸缩性上进行深入研究。豆瓣网曾获软件中国2006年度最佳技术应用网站。

 

金融IT架构师 金融级it架构 豆瓣_java

金融IT架构师 金融级it架构 豆瓣_服务器_02

金融IT架构师 金融级it架构 豆瓣_系统架构_03

金融IT架构师 金融级it架构 豆瓣_服务器_04

金融IT架构师 金融级it架构 豆瓣_数据库_05

金融IT架构师 金融级it架构 豆瓣_java_06

金融IT架构师 金融级it架构 豆瓣_java_07

金融IT架构师 金融级it架构 豆瓣_金融IT架构师_08

金融IT架构师 金融级it架构 豆瓣_系统架构_09

金融IT架构师 金融级it架构 豆瓣_系统架构_10

金融IT架构师 金融级it架构 豆瓣_数据库_11

金融IT架构师 金融级it架构 豆瓣_数据库_12

金融IT架构师 金融级it架构 豆瓣_服务器_13

金融IT架构师 金融级it架构 豆瓣_java_14

金融IT架构师 金融级it架构 豆瓣_数据库_15

金融IT架构师 金融级it架构 豆瓣_数据库_16

金融IT架构师 金融级it架构 豆瓣_java_17

金融IT架构师 金融级it架构 豆瓣_服务器_18

金融IT架构师 金融级it架构 豆瓣_金融IT架构师_19

金融IT架构师 金融级it架构 豆瓣_java_20

金融IT架构师 金融级it架构 豆瓣_金融IT架构师_21

金融IT架构师 金融级it架构 豆瓣_数据库_22

金融IT架构师 金融级it架构 豆瓣_java_23

金融IT架构师 金融级it架构 豆瓣_金融IT架构师_24

金融IT架构师 金融级it架构 豆瓣_系统架构_25

金融IT架构师 金融级it架构 豆瓣_java_26

金融IT架构师 金融级it架构 豆瓣_金融IT架构师_27

金融IT架构师 金融级it架构 豆瓣_数据库_28

金融IT架构师 金融级it架构 豆瓣_系统架构_29

金融IT架构师 金融级it架构 豆瓣_java_30

金融IT架构师 金融级it架构 豆瓣_java_31

金融IT架构师 金融级it架构 豆瓣_java_32

金融IT架构师 金融级it架构 豆瓣_系统架构_33

金融IT架构师 金融级it架构 豆瓣_服务器_34

金融IT架构师 金融级it架构 豆瓣_java_35

金融IT架构师 金融级it架构 豆瓣_系统架构_36

金融IT架构师 金融级it架构 豆瓣_系统架构_37

金融IT架构师 金融级it架构 豆瓣_java_38

金融IT架构师 金融级it架构 豆瓣_服务器_39

金融IT架构师 金融级it架构 豆瓣_服务器_40

金融IT架构师 金融级it架构 豆瓣_数据库_41

金融IT架构师 金融级it架构 豆瓣_java_42

金融IT架构师 金融级it架构 豆瓣_java_43

金融IT架构师 金融级it架构 豆瓣_服务器_44

校内网CTO黄晶讲述网站架构变迁

每个网站的发展都会按照一个大致相同的路线去完成,当然这里说的是每个相对成功的网站。

第一阶段:

这一阶段没有太大的访问量,甚至只有一台服务器就搞定了所有的访问。DB和前端的代码全都在一起,压力不高。忆者注:我觉得在alexa没进五万的时候,只要不是特殊的应用,基本都在此列吧。

第二阶段:

网站初具规模,DB压力大增,单独的一台DB已经满足不了现在的访问量,开始考虑读写分离的Master-slave库,使用三个及以上的服务器。忆者注:这时网站的alexa基本上会在1-3万的位置,每天的ip在5-10w的样子,当然,DB我们都认为是MySql。

第三阶段:

访问量继续增加,增加到了DB的压力在Master的机器上非常的明显了,Master开始出现吃不消的情况,出现写耗尽。主从也已经不能满足要求,需要进一步解决负载问题,此时要引入Mysql Proxy程序,进行中间层代理,实现负载均衡,易于扩展。忆者注:这时网站已经不可限量了,先恭喜下你的网站能用到这段。

第四阶段:

网站继续发展,进而出现了数据量的成倍增长,原来的N台DB都出现了一个问题,数据量巨大,无法完成正常速度的读写。此时,需要对网站按功能进行垂直划分,比如用户注册登录是一部分、UGC又是另一部分。与此同时,对数据本身进行水平划分,也就是Hash散表或者是散库。