Xixibase 分布式缓存系统开源项目

我要开发同款
匿名用户2011年10月23日
39阅读
开发技术Java
所属分类服务器软件、缓存服务器
授权协议Apache

作品详情

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

Xixibase主要特点:

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

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

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

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

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

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

性能:

读写TPS:150,000以上

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

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

PerformanceBenchmark:https://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark2.html

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

 

项目:

https://code.google.com/p/xixibase/包含:XixibaseServer和XixibaseJavaClient

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

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

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论