设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

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

2011-6-3 15:30| 发布者: joejoe0332| 查看: 7751| 评论: 1|原作者: expleeve|来自: expleeve的博客

摘要:   MySQL  关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了  Tokyo Cabinet  一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们 ...
  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

酷毙
5

雷人
2

鲜花

鸡蛋

漂亮

刚表态过的朋友 (7 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部