tokyo cabinet & tokyo tyrant

ttserver复制功能的测试2009-10-19 20:51    ttserver中,可以用mhost和mport参数指定master的ip和端口。可是,到底是从master取数据呢?还是把自己的数据发送给master?还是同时做收取和发送?

下面是我的试验:
1、先启动一台独立的ttserver:
ttserver -host 192.168.0.100 -port 20001 -thnum 128 -dmn -ulim 1024m -ulog /home/ahfu/temp/test_data/test_ulog_01 -log /home/ahfu/temp/test_data/log/test_data_01.log -pid /home/ahfu/temp/test_data/log/test_data_01.pid -sid 1 /home/ahfu/temp/test_data/test_data_01.tch#bnum=10000000#rcnum=100000#xmsiz=256m
#注意要加上sid哦

2、启动另一台ttserver,指定mhost为上面启动的这台:
ttserver -host 192.168.0.100 -port 20002 -mhost 192.168.0.100 -mport 20001 -rcc -rts /home/ahfu/temp/test_data/test_data_01.rts -thnum 128 -dmn -ulim 1024m -ulog /home/ahfu/temp/test_data//test_ulog_02 -log /home/ahfu/temp/test_data/log/test_data_02.log -pid /home/ahfu/temp/test_data/log/test_data_02.pid -sid 2 /home/ahfu/temp/test_data/test_data_02.tch#bnum=10000000#rcnum=100000#xmsiz=256m
#注意要设置 -rcc和-rts选项,否则有警告

3、先往第一台ttserver写入数据:
tcrmgr put -port 20001 192.168.0.100 test1 value1
#查询出来看看
tcrmgr get -port 20001 192.168.0.100 test1
#数据肯定是有的了

4、到第二台查询看看:
tcrmgr get -port 20002 192.168.0.100 test1
#数据也有了,由此说明:mhost指定的时候,会把对方的数据复制过来

5、在第二台上写入数据:
tcrmgr put -port 20002 192.168.0.100 test2 value2
#查询出来看看
tcrmgr get -port 20002 192.168.0.100 test2

6、再到第一台上去查刚刚写入的数据:
tcrmgr get -port 20001 192.168.0.100 test2
#没有数据,由此说明:复制是单向的

以上的实验说明:当指定-mhost和-mport的时候,ttserver自身作为slave,每个slave只允许有一个master。假设多个slave都连接到同一个master的话,则一个master允许有多个salve。
通常的情况是,两个ttserver互为master和slave。

你可能感兴趣的:(Tokyo Cabinet)