人人网使用的开源软件列表

标签: 未分类 | 发表时间:2009-12-13 15:10 | 作者:ugc-admin
出处:http://ugc.renren.com

作者:人人网架构师 张洁 人人网UGC团队博客首发

MySQL
关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了

Tokyo Cabinet
一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们内部很多地方也用它来代替MySQL来做存储,比如我们的搜索结果页的用户资料,就是用它来做一层MySQL外的冗余存储,目的是加快搜索结果页的显示。在key-value并需要持久存储的场景下,用它比MySQL更有效,Cabinet本身只是一个存储引擎,没有网络处理能力,你可以用它作为自己的某个系统的下层存储引擎,更好的是搭配Tokyo Tyrant使用。

Tokyo Tyrant
一个支持Memcached传输协议的网络接口,由Tokyo Cabinet的作者开发,目的是为Tokyo Cabinet提供网络接入能力,即Tokyo Tyrant处理网络连接,协议解析,然后调用Tokyo Cabinet的API来完成持久化存储。

ICE
一个跨语言的网络通讯框架,框架本身提供了强大的通讯能力,管理工具,负载均衡方案,其跨语言能力也是一个很大的亮点,基于这个框架之上,我们选用合适的语言来提供合适的服务,比如我们使用C++来开发Cache服务,使用Java来开发一些逻辑服务。框架本身可以很重,也可以很轻,具体要看你怎么用:)

Memcached
一个纯内存的key-value的cache系统,高效、稳定,使用广泛,如果你连它都没听说过就太out啦,memcached本身不具备分布式能力,需要依靠Client来实现分布,这里强调一点的是,你应该选择一致性Hash来做key的分布。各种语言的client都有,我们使用spymemcached作为java的Client,spymemcached是一个异步的NIO的memcached client,对网络IO的处理非常的精巧,也更加高效,同时因为提供异步操作方式,可以让你对Memcached的操作有更好的控制能力,Memcached到1.4.0版本之后,开始支持binary protocol,spymemcached对其也支持的比较好,使用binary protocol可以提高对协议的解析效率和网络IO的读写效率。
上面说到我们使用ICE自己开发了Cache服务,为什么我们还要用Memcached呢?主要在对Cache的操作粒度不一样,Memcached对Cache对象以binary byte作为一个整体来操作,需要频繁的序列化和反序列化,我们使用ICE提供的Cache服务,可以以Cache对象的一个或者多个字段来操作,比如一个用户对象,我们可以只更新它的姓名,而Memcached

Nginx
高效、稳定的Web Server,我们利用其代理能力,做跨IDC的请求代理,同时也将其和我们的Resin(Java Web 容器)搭配,放在Resin的前面来解决Resin的对网络连接处理能力弱的问题,在一些小地方也用它来做7层的负载均衡

Resin
一个Java Web Server,比Tomcat更高效,是我们主要的Java Web容器

Squid
代理服务器,我们用他来做图片文件的反向代理缓存

LVS
能提供4层的负载均衡,高效、高可用,高并发。我们用他替代了很多硬件的负载均衡设备

Struts
Java web框架,不过这个已经是历史了,我们开发了一套自己的Web框架替代了它,未来我们也会把我们的内部的这套Web框架开源出来

Lucence
基于Java的搜索引擎框架,用它我们构建了一个搜索集群来提供搜人的服务

Netty
一个Java的网络框架,和apache的mina类似,但比mina更高效,我们用来做一些小的服务

Ganglia
一个监控系统,帮组我们了解我们每台Server的资源利用情况

还有些小东西就不列出来了,最后要说的一点就是,对这些开源软件或者系统,我们都非常的了解,或者说知根知底,从API到内部实现原理,甚至到一些源码的细节。

相关 [人人网 开源软件 列表] 推荐:

人人网使用的开源软件列表

- - ugc
作者:人人网架构师 张洁 人人网UGC团队博客首发. 关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了. 一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们内部很多地方也用它来代替MySQL来做存储,比如我们的搜索结果页的用户资料,就是用它来做一层MySQL外的冗余存储,目的是加快搜索结果页的显示.

推荐系统开源软件列表汇总和逐一点评

- - CSDN博客数据库推荐文章
我收集和整理的目前互联网上所能找到的知名开源推荐系统,并附上了个人的一些简单点评(未必全面准确),. 这方面的中文资料很少见,希望对国内的朋友了解掌握推荐系统有帮助. 由上海交大的同学开发的,C++语言,代码质量很高. 去年我们参加KDD竞赛时用过,非常好用,而且出自咱们国人之手,所以置顶推荐. SVDFeature包含一个很灵活的Matrix Factorization推荐框架,能方便的实现SVD、SVD++等方法, 是单模型推荐算法中精度最高的一种.

盛大开源软件

- - kernelchina
盛大研究院在其网站 http://www.sndacode.com/projects开源了不少应用. 很多都是上层应用相关,我感兴趣的有如下几个:. 在手机上看code的人估计是个傻帽,但是在PAD上面还可能是一件爽快的事情. 作为google reader的中毒使用者,这个功能还是很有价值的,是盛大电子书的亮点.

狗日的开源软件许可证

- Michael - 酷壳 - CoolShell.cn
你知道这个世上有多少种开源软件的许可证吗. GNU上有个网页,上面记录了几乎所有的开源软件的许可证,真TMD的多,有开源的,有商用的,有软件的,有文档的,多得你都不想看了,天杀的,程序员们还真能鼓捣啊. 不过,主流的也就几种——GPL、BSD、MIT、Mozilla、Apache等等. 这里有一张比较复杂的图,在调侃这些纷繁的许可证(我不翻译了,这个图属于是发泄不满).

开源软件中的彩蛋们

- 加州旅客 - Wow! Ubuntu
嘿嘿,卖个关子.用DEB系的Linux同学自己看下吧. 还有aptitude help的超级牛力(Super Power),参考最后一行. 来看看apt-get能搞出来什马东西. Gentoo党:emerge moo. 来自:The Hitchhiker's Guide to the Galaxy.

2010年最佳开源软件

- 钊炜 - Solidot
InfoWorld公布了2010年的最佳开源软件名单,名单分为几大类别: 最佳企业开源应用程序:企业资源管理软件Openbravo ERP,SugarCRM,Pentaho BI Suite,Alfresco,Drupal,WordPress,LogicalDoc,Tiki Wiki CMS Groupware,Apache Solr.

开源软件发展史【信息图】

- bingo - 36氪
互联网倡导开放、平等、协作和分享的精神. 开源软件(英语:Open source software,英文缩写:OSS)是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量. 开放源代码的定义由Bruce Perens(Debian的创始人之一)于1997年提出.

Android UI 组件开源软件

- - 移动开发 - ITeye博客
其实也算不上合集,只是将我经常用到的部分整理一下,如果您有好东西,也可以留言补充,. 可以参照应用Libraries for developers,ios的参照Libraries for developers Pro. https://github.com/JakeWharton/ActionBarSherlock (推荐).

开源软件正在吞食世界

- - Solidot
过去五年,开源软件公司得到投资十倍于五年前. 大大小小的公司正以创纪录的数量使用开源软件. Future of Open Source的调查发现,78%被调查者的公司内部运行开源软件,64%的人称他们的公司参与开源项目. 出现这种局面的原因是每一家公司都承受着巨大的压力,被要求更好更快更廉价的构建软件,于是处于开发核心的程序员将开源软件带到了公司.

Facebook网站所使用的开源软件一览表

- dylan - ITeye资讯频道
Facebook是全球首屈一指的社交网络平台,该网站采用了很多开源软件,Facebook采用的编程语言包括:Java, Ruby, PHP, Python, Objective-C. 下面是Facebook正在使用或者贡献的开源软件详细列表和介绍:. Apache Cassandra是一套开源分布式Key-Value存储系统.