Documentation . 文档 . Contributors . Road Map
sirius 是 EA
服务架构中的元数据服务,提供服务发现,全局统一时钟,全局唯一ID,配置管理功能。sirius是基于raft协议实现的分布式一致性服务,
支持多副本,自动选主,自动故障转移,自动数据同步等功能。
sirius 依赖于 carbin
服务,编译安装前请确保 carbin
服务已经安装并启动。carbin
服务的安装请参见carbin
sirius 服务的安装有两种方式,一种是通过源码安装,另一种是通过二进制安装。
源码安装依赖环境参见环境依赖
carbin install gottingen/sirius --prefix=/opt/EA/inf
二进制默认提供基于基础环境的的安装包,建议使用源码安装,兼容性更好。部署过程中,只依赖基础环境,编译过程中的依赖会以静态库的方式打包到二进制包中。 用户在自己的环境上进行编译和分发安装。
编译sirius:
git clone https://github.com/gottingen/sirius.git
git checkout xxx #tag or branch
cd sirius
carbin install --prefix=/opt/EA/inf
mkdir build
cd build
cmake ..
make -j 4
make package
${sirius_dir}/build目录下,package目录下有编译好的二进制包,如果是centos7系统,生成 rpm
和sh
包,如果是ubuntu系统,生成deb
和sh
包。
值得注意的是,rpm
包在编译过程中,如果使用的是devtoolset-*
编译的,那么在安装的时候,需要使用devtoolset-*
的环境来安装,否则会出现依赖问题。
并且安装过程中,有可能会出现libstdc++.so.6文件缺失的问题,安装rpm
包的时候,需要加上--nodeps
参数。
rpm -ivh --nodeps sirius-1.0.0-1.el7.x86_64.rpm
sirius的使用文档请参见使用文档
sirius的贡献者请参见贡献者