README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
flare
flare 是一个分布式、持久化的键值存储,兼容 memcached,并具备多项附加功能(如下):
- 持久化存储(您可以将 flare 用作持久化的 memcached)
- 可插拔存储
- Tokyo Cabinet
- Kyoto Cabinet(实验性)
- 数据复制(同步或异步)
- 数据分区(根据主服务器数量自动分区(对客户端透明)
- 动态重建与分区(您可以动态地(即,无需任何服务中断)添加从服务器并对主服务器进行分区)
- 节点监控与故障转移(如果任何服务器宕机,该服务器会自动从活动服务器中隔离,并且另一台从服务器会被提升为主服务器)
- 请求代理(无论您连接到哪台服务器,始终可以获得相同的结果,因此您可以将 flare 集群视为一个大型键值存储)
- 支持超过 256 字节的键和超过 1M 字节的值
flare 是基于 GNU GENERAL PUBLIC LICENSE Version 2 的免费软件。
支持的操作系统
flare 主要在以下平台上开发:
- Debian GNU/Linux(etch 或更高版本,支持 i386 和 amd64)
- Mac OS X(Darwin 9.5.0,i386,amd64)
- FreeBSD
- 其他类 UNIX 操作系统。
依赖库
运行时
- boost
- Tokyo Cabinet
- Kyoto Cabinet(可选)
- zlib
- libhashkit
- uuid
构建时
- gcc
- autoconf
- automake
- libtool
在 Ubuntu 14.04 (Trusty Tahr) 上从源代码安装
安装依赖包
首先,通过 apt-get 安装依赖包。
$ sudo apt-get install \
git \
locales \
zlib1g-dev \
build-essential \
autoconf \
automake \
libtool \
libboost-all-dev \
libhashkit-dev \
libtokyocabinet-dev \
uuid-dev
安装 flare
下载源代码,并对其进行编译。
$ git clone https://github.com/gree/flare.git
$ cd flare
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
如果您需要可选包,应使用选项运行 ./configure。
您可以通过 ./configure --help 查看可用选项。
例如(当使用 Kyoto Cabinet 时):
首先,除了依赖包之外,您必须安装 libkyotocabinet-dev。
$ sudo apt-get install libkyotocabinet-dev
并使用 --with-kyotocabinet 选项运行 ./configure。
$ ./configure --with-kyotocabinet=/usr/include
在 Ubuntu 或 MacOS 上通过 Nix 安装 flare
我们实验性地支持使用 nix 包管理器进行开发。
安装 flare
只需输入以下命令。
# Install nix package manager
$ curl -L https://nixos.org/nix/install | sh
# Install flare
$ nix profile install github:gree/flare
通过 Nix 开发 flare
# Clone source code
$ git clone git@github.com:gree/flare.git
# Enter a development environment of nix
$ nix develop
# Build source codes
$ ./autogen.sh
$ ./configure
$ make
$ make test
使用 Docker 构建 Debian 软件包
# Build Debian package
$ ./build-debian-docker.sh
# Install the package
$ sudo dpkg -i debian-packages/kvs-flare*.deb
创建配置文件
从 etc 复制默认配置文件,并对其进行修改。
$ sudo cp etc/flarei.conf /etc/
$ sudo cp etc/flared.conf /etc/
运行
现在,您可以运行 flare。
$ sudo /usr/local/bin/flarei -f /etc/flarei.conf --daemonize
$ sudo /usr/local/bin/flared -f /etc/flared.conf --daemonize