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
修改配置後要重啓服務,能夠配置成主主模式,只是往其中一臺寫,減小一些麻煩