1、ssdb介绍php
SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.html
SSDB 是稳定的, 生产环境使用的, 已经在许多互联网公司获得普遍使用, 如奇虎 360, TOPGAME.
node
SSDB 的安装文档:linux
http://ssdb.io/docs/zh_cn/install.html
c++
SSDB 的主要特色:git
(1)支持 zset, map/hash, list, kv 数据结构, 可替代 Redisgithub
(2)特别适合存储大量集合数据, 支持丰富的数据结构: key-value, key-map, key-zset, key-list.数据库
(3)使用 Google LevelDB 做为存储引擎vim
(4)支持主从同步, 多主同步c#
(5)客户端支持 PHP, C++, Python, Lua, Java, Ruby, nodejs, Go 等
(6)内存占用极少
(7)图形化界面管理工具(phpssdbadmin)
SSDB支持”双主”架构(SSDB分布式架构: https://github.com/ideawu/ssdb/wiki/Replication), 两个或者更多的主服务器. 当其中一部分出现故障时, 剩余的主服务器仍然能正常接受写请求, 从而保证服务正常可用, 再将DNS解析修改以后, 就能在机房故障后当即恢复100%可用.
2、搭建ssdb服务
一、主从配置
系统:centos6.5-x86_64
主:
ip地址:192.168.1.105 主机名:linux-node105
从:
ip地址:192.168.1.106 主机名:linux-node106
(1)环境准备
sed -i '41 s/^/* soft nofile 65535\n* hard nofile 65535\n* soft nproc 65535\n* hard nproc 65535/g' /etc/security/limits.conf ulimit -n 65535 sed -i '/^SELINUX=enforcing/c#SELINUX=enforcing' /etc/selinux/config sed -i '/^SELINUXTYPE=targeted/c#SELINUXTYPE=targeted' /etc/selinux/config sed -i '12 s/^/SELINUX=disabled/g' /etc/selinux/config setenforce 0 service iptables stop chkconfig iptables off
(2)安装ssdb
yum install -y wget autoconf unzip ntpdate vim gcc gcc-c++ openssh-clients ntpdate time.nist.gov cd /usr/local/src/ wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip unzip master cd ssdb-master make make install cd /usr/local/src/ssdb-master/tools cp ssdb.sh /etc/init.d/ssdb chmod +x /etc/init.d/ssdb sed -i 's%configs="/data/ssdb_data/test/ssdb.conf"%configs="/usr/local/ssdb/ssdb.conf"%g' /etc/init.d/ssdb #修改成正确的配置文件路径 IP=`ifconfig eth0 | grep "inet addr" | awk -F ":" '{print $2}' | awk '{print $1}'` sed -i "s/ip: 127.0.0.1/ip: '$IP'/g" /usr/local/ssdb/ssdb.conf /etc/init.d/ssdb start /usr/local/ssdb/ssdb-cli -h $IP -p 8888
(3)从服务器配置
(4)启动主和从的服务显示info
二、主主配置
主主配置和主从配置差很少,只是把type改成mirror
修改配置后要重启服务,能够配置成主主模式,只是往其中一台写,减小一些麻烦