欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ssdb主从同步复制配置详细步骤

程序员文章站 2022-05-21 23:47:02
...

SSDB 的配置文件是一种层级 key-value 的静态配置文件, 通过一个 TAB 缩进来表示层级关系. 以 # 号开始的行是注释. ssdb的使用遵循redis协议,读写性能都特别快。 有时我们在使用数据库时,像mongodb,redis和一些关系行数据,为了使数据更加安全,作为备份


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 参数, 用于指定缓存大小. 适当的缓存可以提高读性能, 但是过大的缓存会影响写性能.