Xixibase分布式缓存系统

联合创作 · 2023-10-01 12:26

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可以联系本人。

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报