Kumofs 简介,部署和特性介绍(一)

 

 一 简介

    Kumofs 是一款基于tokyo cabinet超高性能的分布式存储系统,继承了tc超高的读取和写入性能,并且遵循CAS,除此之外,他同样支持MEMCACHE协议,在众多的客户端中得到良好的支持。

     除了拥有高效的存取特性外,他主要具备以下特性:

  1.    数据能够被均匀的拆分到所有的节点,同时具备分布式存储必须的功能:复本
  2. 随着节点数量的增加,系统整体的读取和写入效能成线性递增。
  3. 节点在系统无需重启的条件下,可自由上下架。
  4. 节点在系统不需要进行任何配置文件的修改,可自由上下架。
  5. 当节点出现故障,宕机时,不影响整个系统的正常运行。
  6. 当节点出现故障,需要恢复时,整个系统无需停止,下线。
  7. 通过一致性HASH策略(consistency control system)数据实现均衡分发
  8. Safe CAS operation support
  9. memcache协议支持

二 结构组成

  • Kumofs主要的组成主要分为以下几个部分:
    • 客户端:使用memcache协议的调用方
    • kumofs代理:负责与客户端和服务节点的通信转发,对外看起来就像是一个memcache服务器。
    • 存储服务节点:数据的读写实体。
    • 管理节点管理调度器:节点的健康状况监视器,记录节点各个状态,同时负责数据均衡分发,当节点出现宕机时,下线操作和数据恢复由它来负责.
    • 管理客户端:通过与调度器通讯,完成制定的操作。

三 性能,负载

通过上图,大家应该可以了解到同伏地魔系统在同等硬件配置,数量级和压力的条件下,Kumofs CPU的占用只有伏地魔的一半

 

 

当服务器的数量增加时,整体系统的读取性能也线性增加。

 

四 安装,部署

(1) 安装jemalloc

kumofs推荐使用jemalloc替代标准库中的malloc,可跳过安装

cd/usr/local/src
wget
http://www.canonware.com/download/jemalloc/jemalloc-1.0.2.tar.bz2
tar xjvf jemalloc-1.0.2.tar.bz2
cd jemalloc-1.0.2
./configure
make
makeinstall
ldconfig

 


(2) 安装Tokyo Cabinet

cd/usr/local/src
wget http://cdnetworks-kr-1.dl.sourceforge.net/project/tokyocabinet/tokyocabinet/1.4.32/tokyocabinet-1.4.32.tar.gz

tar xvzf tokyocabinet-1.4.45.tar.gz
cd tokyocabinet-1.4.45
./configure
make
makeinstall
ldconfig

 

(3) 安装MessagePack for C/C++

cd/usr/local/src
wget
http://downloads.sourceforge.net/project/msgpack/msgpack/cpp/msgpack-0.5.2.tar.gz
tar xzvf msgpack-0.5.2.tar.gz
cd msgpack-0.5.2
./configure
make
makeinstall
ldconfig


(4) 安装kumofs

cd/usr/local/src
wget
http://github.com/downloads/etolabo/kumofs/kumofs-0.4.10.tar.gz
tar xzvf kumofs-0.4.10.tar.gz
cd kumofs-0.4.10
./configure --with-jemalloc
make
makeinstall
kumofs的一些管理工具是用Ruby开发的,你还需要安装Ruby和MessagePack for Ruby
(1) 安装Ruby
(2) 安装RubyGems
(3) 安装 MessagePack for Ruby
gem install msgpack

 

你可能感兴趣的:(分布式)