- SSDB 的配置文件是一种层级 key-value 的静态配置文件, 通过一个 TAB 缩进来表示层级关系. 以 ‘#’ 号开始的行是注释.
ssdb的使用遵循redis协议,读写性能都特别快。
有时我们在使用数据库时,像mongodb,redis和一些关系行数据,为了使数据更加安全,作为备份使用我们经常习惯使用主从复制架构,当主机上的数据出现问题时,我们就可以连接到slave机器也就是另外一台机器会从主机上进行同步数据,如果我们使用linux命令 netstat -apn,会发现slave机器上的ssdb会和主机上的ssdb服务建立连接,如果我们这时往主机的ssdb导入数据
会发现slave机器上也会有相应的数据更新。
具体配置如下所示(我这里假设master机器的IP为:10.100.300.1端口:8888)
这是slave机器的配置,
- # ssdb-server config
- # MUST indent by TAB!
- # relative to path of this file, directory must exists
- work_dir = ./2014_12_1
- pidfile = ./2014_12_1/ssdb.pid
- server:
- ip: 0.0.0.0
- port: 8888
- # bind to public ip
- #ip: 0.0.0.0
- # format: allow|deny: all|ip_prefix
- # multiple allows or denys is supported
- #deny: all
- #allow: 127.0.0.1
- #allow: 192.168
- replication:
- slaveof:
- # to identify a master even if it moved(ip, port changed)
- # if set to empty or not defined, ip:port will be used.
- id: svc_2
- # sync|mirror, default is sync
- type: sync
- ip: 10.100.300.1
- port: 8888
- logger:
- level: info
- output: log.txt
- rotate:
- size: 1000000000
- leveldb:
- # in MB
- cache_size: 1024
- # in KB
- block_size: 64
- # in MB
- write_buffer_size: 256
- # in MB
- compaction_speed: 100
- # yes|no
- compression: no
这是master机器配置
- # ssdb-server config
- # MUST indent by TAB!
- # relative to path of this file, directory must exists
- work_dir = ./var_update
- pidfile = ./var_update/ssdb.pid
- server:
- ip: 0.0.0.0
- port: 8888
- # bind to public ip
- #ip: 0.0.0.0
- # format: allow|deny: all|ip_prefix
- # multiple allows or denys is supported
- #deny: all
- #allow: 127.0.0.1
- #allow: 192.168
- replication:
- slaveof:
- # to identify a master even if it moved(ip, port changed)
- # if set to empty or not defined, ip:port will be used.
- #id: svc_2
- # sync|mirror, default is sync
- #type: sync
- #ip: 127.0.0.1
- #port: 8889
- logger:
- level: info
- output: log.txt
- rotate:
- size: 1000000000
- leveldb:
- # in MB
- cache_size: 300
- # in KB
- block_size: 64
- # in MB
- write_buffer_size: 256
- # in MB
- compaction_speed: 100
- # yes|no
- compression: no
work_dir: ssdb-server 的工作目录, 启动后, 会在这个目录下生成 data 和 meta 两个目录, 用来保存 LevelDB 的数据库文件. 这个目录是相对于 ssdb.conf 的相对路径, 也可以指定绝对路径.
server: ip 和 port 指定了服务器要监听的 IP 和端口号. 如果 ip 是 0.0.0.0, 则表示绑定所有的 IP. 基于安全考虑, 可以将 ip 设置为 127.0.0.1, 这样, 只有本机可以访问了. 如果要做更严格的更多的网络安全限制, 就需要依赖操作系统的 iptables.
replication: 用于指定主从同步复制. slaveof.ip, slaveof.port 表示, 本台 SSDB 服务器将从这个目标机上同步数据(也即这个配置文件对应的服务器是 slave). 你可以参考 ssdb_slave.conf 的配制.
logger: 配置日志记录. level 是日志的级别, 可以是 trace|debug|info|error. output 是日志文件的名字, SSDB 支持日志轮转, 在日志文件达到一定大小后, 将 log.txt 改名, 然后创建一个新的 log.txt.
leveldb: 配置 LevelDB 的参数. 你一般想要修改的是 cache_size 参数, 用于指定缓存大小. 适当的缓存可以提高读性能, 但是过大的缓存会影响写性能.