《
手机之家网站架构发展与变更_成都网络公司》文章地址:http://www.tfxk.com/wangyesheji/jianzhanjingyan/11064162012.htm
-->
手机之家在cache高低的工夫很多,报告稿中很多页是在讲cache体系的演化。对他们的运用方法来说,假如cache被击穿了,所有的压力到达了数据库,那么性能就会急剧降落,所以对cache的治理变的尤其主要。手机之家的这种尝试确实解决了很多问题。
完成了前面说的cache管理器,他们还想更近一步,把数据拜访,缓存,尤其是对库的切分全部包装起来,给程序员一个透明的接口。这样程序员不必关怀到底存在多少个库,怎么散布,是否须要从cache中取数据等等细节问题。
手机之家用了7年时光,发展到1000万以上用户,3000万以上帖子,1.1TB附件,天天780万以上的PV这个规模。这个数字固然比不上大型互联网公司,但是对一个只有几个人的技术团队,已经是一个很令人自豪的数字了。
沙龙停止后,晚上,我和老高在gtalk上又聊了良久。我感到他们做出来的这套方案,对许多公司都有辅助。至少逾越多少个艰苦阶段。这就似乎memcached带来的,在不memcached的时候,良多网站抗不住10万这个级别的pv,有了memcached,哪怕用的很蹩脚,50万这个级别也能到了。老高这个方案或者能让很多网站进入"百万俱乐部"。
php用来做以上的2个部件,后果并不好,效力很低。事实上php就不是干这个用的。最后他们用java+nio实现了一个性能不错的服务。把所有问题都解决了。
一 关于memcached的应用和管理。
LiveJournal在发展中一边用着开源软件,一边造轮子,最后造出来了memcached这个简略而强盛的工具,最终成了这一代网站开发离不开的货色。
memcached确实是个简单,好用,奏效快的东西。不外简单也有简单的问题,程序员各有各的习惯,成果导致key很不标准,用什么方式的都有。这个问题恐怕用过memcached的人都深有领会。当然,用开发规范来限度程序员的行动是一个措施网站设计,但这不是技术的方法。技术的方法,是增添一个层。于是手机之家开发了一个cache管理器,把程序员和memcached隔分开,由这个层来同一管理缓存。
我们经常讲,做网站好像爬山,一个陡坡,一个缓坡。我见过很多网站在50万pv之下就被技巧卡住了。很多很多的公司,就在某一次上坡的时候逝世了。
总结手机之家经验分享的意思,我认为在于,我们很少有机会看到一个网站从0做到濒临千万的PV。就算在一个大的互联网工作过,所看到也只不过是冰山一角,很难有操刀着手的机遇。手机之家的成长用了7年,老高始终在带着团队做优化。这种经验很难取得。
三 这样用java
二 仍旧和cache有关
这也是个常见问题。所有从数据库取数据的处所都要先从memcached读一次,代码很丢脸,也很罗嗦。这个包装实现之后,这就是一个能进步出产力的工具了。直接有效,也确切节俭了开发本钱。这个被他们称做DAL,很俗的名字啊:D
这次beta沙龙请了高春辉的团队来讲他们的教训。原来我是盼望老高讲,不过他说最近的系统重要是许超前在带人开发,所以实际的演讲人是许超前。
这次演讲有意思的局部就是从memcached相干的事件开端的。
这是个不错的思维。当key被一个旁边层接收了之后,事实上就可以给被缓存的对象实现更复杂的结构了。memcached是扁平的,只有一层。数据保留的方法依然可以坚持一层,但是通过对key的结构设计,就可以实现多层的结构,甚至在层和层之间实现继续关联,或是树结构。手机之家称之为namespace。通过这种方式,可以批量的管理和把持缓存对象。
海内最早让大家意识到网站的发展阶段的文档大略就是于敦德翻译的LiveJournal发展过程的ppt。这次许超前的演讲十分相似LiveJournal的那篇成都网络公司。
用在网页上java/jsp确实不如php,但是用来做服务器还是很适合的。我讯问过他们是否在GC的时候碰到性能问题,谜底是目前还没有。如果稳当起见,对这种方案,我更乐意采取C,不过斟酌到团队情形,和java程序员比C更轻易找到,手机之家用java来开发也是一个折中方案。
说起来做互联网,中国人比本国人难很多。咱们面对的用户范围比他们大的多,但是广告价值小的多。我们做一个网站,可能在第一年就碰上了第一次机能极限,但这时候钱还没有影。外国人可能3年才达到,然而人家已经赚了不少钱,也有足够的资源来解决问题。对中国的互联网来说,有一些这种解决方案确实很有赞助。
当然,未来仍是未知的。老高跟手机之家是如何等待这个产品的将来的?是开源,还是做解决计划?不论怎么说,至少我信任,他们做一个不错的轮子,应当不至于只给本人用。
换言之,索引构造能够庞杂,但寄存对象自身的地方是个key-value型的。friendfeed对于mysql利用的文档也提到了这种方式。用这种办法,可以在一个比拟小的索引库中进行各种操作,无论是遍历还是查找,甚至处置一个节点下所有的值。终极得到key-value库的key。这个思路应该可以用于很多地方。
(责任编辑:网站建设)
手机之家网站架构发展与变更_成都网络公司相关文章