当前位置:  软件>java软件

分布式缓存系统 Xixibase

    来源:    发布时间:2015-02-22

    本文导语:  Xixibase是一个高性能,跨平台的分布式缓存系统。Xixibase server 采用 C++ 实现,底层网络库采用的是Boost Asio。 Xixibase 主要特点: 1. 实现'Local Cache'功能, 当客户端打开'Local Cache'选项, 客户端可以将数据同时存储在Server 端和本地,...

Xixibase是一个高性能,跨平台的分布式缓存系统。Xixibase server 采用 C++ 实现,底层网络库采用的是Boost Asio。

Xixibase 主要特点:

1. 实现'Local Cache'功能, 当客户端打开'Local Cache'选项, 客户端可以将数据同时存储在Server 端和本地,并且保证本地数据和Server 端的数据的一致性。当Server 端的数据被更新、删除或者过期,本地的数据会立即被删除,下次再对该数据的访问,请求会直接到达Server 。
'Local Cache'的优点:
    a. 极大地提高了性能:特别是对那些读操作远远大于写操作的数据,可以提供1000万以上的TPS.参考:http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark2.html 
    b. 提高了应用的服务质量和用户体验:在'Local Cache'命中的情况下,请求不需要通过网络到远程Cache Server上查询,减少了总体的处理的时间,提高用户体验。
    c. 降低了Cache Server 的压力,原先需要10台Cache Server ,现在可能只要5台就够了。可降低成本,保护环境。
    d. 降低网络流量,减少网络设备的成本。
    e. 提高整个Cache 系统的总体吞吐量。综合a, c, d三点,系统的总体吞吐量会得到极大的提升。

2. 支持虚拟化, 采用分Group的方法,不同的应用可以使用不同的GroupID,这样当不同的应用在访问同一个Cache Server时,不会相互干扰。
    a. GroupID类似与命名空间,每个应用不需要考虑:某个Key 是否会和其它应用的Key 冲突。
    b. 当某个应用要清空自己相关的Cache,不需要一个Key 一个Key 的去Delete ,可以直接调用Flush ,不用担心Flush 会影响其它应用的数据。
    c. 可以对每个Group 单独统计读写、存储的信息。

3. 支持'MultiAPI', 如multiGet, multeUpdate, multiDelete。测试表明'MultiAPI'在提升性能方面,非常明显。参考:http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark.html

4. 超高性能. 无论'Local Cache'还是'MultiAPI'都在不同方面,极大地提升了性能。

5. 跨平台, Xixibase server由C++实现,底层网络库采用的是Boost Asio。理论上,只要Boost Asio支持的平台,Xixibase server都可以支持。目前,已经测试了Linux, Windows, Mac。

6. 部分地支持HTTP协议,可以直接在浏览器上访问Xixibase Server。我们可以使用JavaScript 非常方便地访问Xixibase Server。再加上Xixibase 的Local Cache 功能,将极大地减少Server 的压力,提升用户的体验。

性能:

读写TPS :150,000以上

启动Local Cache高命中情况下,读TPS:10,000,000以上。

MultiAPI, TPS: 不同条件下,差异较大,详情参考一下链接:

Performance Benchmark:
http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark2.html

和Memcached的几个Client 比较:
http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark.html

 

项目:

http://code.google.com/p/xixibase/
包含:Xixibase Server 和Xixibase Java Client

目前Client 只实现了Java Client,欢迎有兴趣的朋友可以实现其它平台的Client。
关于Xixibase Java Client 的使用,test包里有几个例子,大家可以参考一下。

有任何问题、建议或者发现Bug可以联系本人。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 分布式CAP理论介绍:一致性(Consistency),可用性(Availability),容忍网络分区(Partition tolerance)
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • 什么是分布式?
  • FastDFS分布式文件系统介绍和FastDFS的安装配置过程
  • 分布式版本控制系统 Mercurial
  • 高性能分布式哈希表FastDHT介绍及安装配置
  • 分布式文件系统 XtreemFS
  • 分布式系统的故障独立性如何理解
  • 请推荐一下轻量级的分布式文件系统源码哈
  • 分布式系统治理 JBoss Overlord
  • 分布式FTP服务器 DrFTPD
  • 分布式流处理框架 Samza
  • 分布式工程配置zookeeper化 zkconfigutil
  • 分布式系统基础架构 Hadoop
  • 分布式版本控制系统 Monotone
  • 来抢分:什么是分布式系统开发
  • 分布式系统的延迟和容错库 Hystrix
  • Clojure 分布式状态模型 Avout
  • 分布式K/V存储系统 kumofs
  • 分布式 Linux 软件管理系统 Conary


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3