jbeansdb

openkk 14年前
     <p>beansdb的java版本。用java重写只是为了兴趣,有兴趣的可以一起来弄。如果你要在生产环境中使用beansdb你应该去看看 <a href="/misc/goto?guid=4959498041898883332" rel="nofollow">http://code.google.com/p/beansdb</a>. </p>    <p>这个项目里面将会用到的一些技术: </p>    <ul>     <li><a href="/misc/goto?guid=4959498042109348943" rel="nofollow">java nio</a> </li>     <li><a href="/misc/goto?guid=4959498042201914192" rel="nofollow">memcached protocol</a> </li>     <li><a href="/misc/goto?guid=4959498042282868228" rel="nofollow">java concurrent programming</a> </li>     <li><a href="/misc/goto?guid=4958530978596983913" rel="nofollow">Tokyo Cabinet</a> </li>     <li><a href="/misc/goto?guid=4958530979614195709" rel="nofollow">Tokyo Tyrant</a> </li>    </ul>    <h3><a name="特性列表"></a>特性列表</h3>    <h4><a name="已经实现的"></a>已经实现的</h4>    <ul>     <li>基本的get, set, delete </li>    </ul>    <h4><a name="还没实现的"></a>还没实现的</h4>    <ul>     <li>实现flush_all命令 </li>     <li>加一个内部缓存,先写缓存,然后由一个独立线程定时刷缓存到文件系统 </li>     <li>多个worker线程 </li>     <li>保存数据的时候存一些metadata信息(version) </li>     <li>sync脚本(来保证eventually consistency) </li>     <li>HashTree -- sync线程用来比较同一份数据在两个节点上的差异的 </li>     <li><a href="/misc/goto?guid=4959498042630493882" rel="nofollow">Bitcask -- 基于日志结构的存储引擎,用来替代Tokyo Cabinet</a>, <a href="/misc/goto?guid=4959498042741379324" rel="nofollow">Bitcask中文简介</a> </li>     <li>proxy -- 使得客户端代码不用再关心具体的beansdb节点配置细节 </li>     <li>网络层 -- leader/follower模式的线程池 </li>    </ul>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1322744485577" target="_blank">http://www.open-open.com/lib/view/home/1322744485577</a></p>