腾讯微博的架构

转自:http://www.heyues.com/tag/php%E5%A4%A7%E4%BC%9Appt/

 

潘少林,腾讯微博的架构

总结1:关于腾讯:加班很多,昨晚加班,上午加班,中午过来,演讲完还得加班。腾讯最大的诱惑:10亿给员工无息贷款买房。

总结2:存储:微博上碎片的小信息的存储,采用腾讯自己开发的一套存储系统,TLV格式(介绍 ), 就是type+length+value,可以像mysql的静态表那样把所有的信息都设置成定长的,这样有利于程序和磁盘寻址找到数据。存储的数据按照 热度分别存放在内存(一两天的数据)——–>ssd(几周的数据)——–>一般的磁盘,这样可以保证热数据的获取的速度。

总结3:分层设计:底层只实现数据接口,理论上应该是原子操作,不涉及业务逻辑,上层负责各种业务逻辑、数据分发、数据展示等工作。保证每一层的的修改不影响其他层,也就是和http的四层透明代理一样。

总结4:cache设计:每一层都有cache设置,保证上一层的cache失效后不会把后端的全挂掉,当上层有了数据修改,通过触发器的方式来刷缓存。

总结5:数据交换和分发:由于微博的特定性和腾讯的超级长的战线,微博数据需要同步到很多地方,采用一种腾讯内部的UDP协议传输——OIDB,为什么采用UDP,首先是UDP比TCP的传输快很多,其次可能是因为客户端的原因。

你可能感兴趣的:(腾讯微博的架构)