Archive for 五月, 2010
log4j使用指南
星期一, 五月 31st, 2010
log4j是Java中老牌的日志工具了,其强大的功能、简便的使用,使得开源项目中随处可见它的身影。即便jdk1.4中引入了logging功 能,log4j还是最受欢迎的日志工具。对log4j的使用者来说,使用log4j的API就那个几个打印日志函数,最需要关注的就是它的配置文件。不 过,很多人只是从网上找个配置样例把它跑起来,而没有更有效的使用log4j处理日志。这其实也不仅仅关乎log4j的使用,而是实际的如何有效的利用工 具来记录日志、分析日志和监控日志。
分享Sify.com的架构经验
星期六, 五月 15th, 2010
今天分享的网站架构来自于Sify.com Architecture – A Portal at 3900 Requests Per Second(该标题有标题党嫌疑),对英文熟稔并不屑于我的中文简述的可以跳过该文。Sify.com是印度的一家portal网站,应该是信息集成类网站。它给出的月 pv是1.5亿次,每秒请求数是3900次(应该是针对所有服务的页面请求,包括异步的,并且是高峰的,否则就和pv对不上了)。按规模来说,算是个中等规模的网站,不过它的架构却是很值得说道的。
google collections介绍
星期五, 五月 14th, 2010
google collections是google的工程师利用传说中的“20%时间”开发的集合库,它是对java.util的扩展,提供了很多实用的类来简化代码。google collections使用了范型,所以要求jdk1.5以上。它的作者没有像apache commons collections一样照顾老的jdk版本,一个原因是google的jdk基本都是1.5以上,另一个原因是类型转换实在是太难看了。现在的集合库版本是1.0,已经很稳定了,在功能和实现方面也是广泛参考意见(比如java.util之父Josh Bloch),所以该库的质量可想而知,将来也有可能集成到jdk中。项目地址是http://code.google.com/p/google-collections/,该文对其提供的核心类做简要的介绍。
实时检索系统Zoie实现分析
星期六, 五月 8th, 2010
Zoie是LinkedIn开源的基于lucene的实时检索系统,对于它的介绍及初步使用可参考我的上一篇文章“使用Zoie构建实时检索系统”。在初步研究并理解了Zoie的源码实现后,本文分析一下Zoie的实现。
使用Zoie构建实时检索系统
星期六, 五月 8th, 2010
Zoie是LinkedIn开源的实时检索系统,它本身用于LinkedIn的用户profile检索。且不说专业的搜索引擎,大多数的站内检索基本都不是实时的,一般都会有几分钟的延迟。但LinkedIn认为,用户profile信息的检索需要实时的效果,因为如果搜索结果不正确或不理想会很影响用户体验。所以,LinkedIn的Zoie实现了秒级别的实时检索效果。Zoie在LinkedIn跑了有两年多时间,所以这个开源项目可以说比较成熟的,这个项目提供了较为丰富的功能和工具,除了核心的API外,它还提供了管理和监控工具、嵌入jetty的Web server demo、一些实用的DataProvider等。对于社区类需要提供用户信息检索的系统来说,使用Zoie或许是个很不错的选择。