关于FastDHT扩容
本帖最后由 happy_fish100 于 2011-02-18 16:48 编辑
FastDHT扩容时,为了避免重新进行hash分布(rehash),FastDHT引入了逻辑分组的概念。一个物理分组对应一组服务器,一组服务器(物理分组)上可以有多个逻辑分组。FastDHT的一个服务进程支持多个逻辑分组,每个组对应一个BDB的数据文件。这样的设计为以后的扩容提供了便利。在初期估算出今后需要的大致分组数目(逻辑分组数),然后将逻辑分组对应到物理分组中。扩容时,将一个或多个逻辑分组迁移到新增的物理分组上,只需要拷贝对应的BDB数据文件,并修改相应的配置文件,重启服务器端和客户端程序即可。
比如一开始只有2台服务器,根据业务量预计总共10个group就足够了,fdht_servers.conf中配置的示例如下:
group_count = 10
group0 = 192.168.0.11:11411
group0 = 192.168.0.12:11411
group1 = 192.168.0.11:11411
group1 = 192.168.0.12:11411
group2 = 192.168.0.11:11411
group2 = 192.168.0.12:11411
group3 = 192.168.0.11:11411
group3 = 192.168.0.12:11411
group4 = 192.168.0.11:11411
group4 = 192.168.0.12:11411
group5 = 192.168.0.11:11411
group5 = 192.168.0.12:11411
group6 = 192.168.0.11:11411
group6 = 192.168.0.12:11411
group7 = 192.168.0.11:11411
group7 = 192.168.0.12:11411
group8 = 192.168.0.11:11411
group8 = 192.168.0.12:11411
group9 = 192.168.0.11:11411
group9 = 192.168.0.12:11411
fdhtd运行后,将在${base_path}/data目录下,生成如下10个BDB数据文件:
db000,db001,db002,。。。,db009
扩容时,将对应的数据文件复制到新的机器上,设置好配置文件,然后重启进程即可。
友情提示:fdht_servers.conf这个配置文件,各台server和client,都使用同一份配置文件即可。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
回复 1# happy_fish100
同问楼上的问题,具体什么机制选择某个组某个机器做存储的
回复 1# happy_fish100
同问楼上的问题,具体什么机制选择某个组某个机器做存储的
同问楼上的问题
回复 1# happy_fish100
请问一下,复制对应文件只需要复制BDB文件吗?还需不需要复制别的binlog.000之类的文件?
还有,fastdht的多个组是怎么存放数据的?轮询?指定?还是free space最大的组?在配置文档中没看到有设置像store那样的存放方式的项。
还希望鱼大指点一下疑惑。