关于FastDHT扩容

发布于 2022-09-07 20:23:45 字数 1330 浏览 10 评论 4

本帖最后由 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

扶醉桌前 2022-09-19 07:40:50

回复 1# happy_fish100

同问楼上的问题,具体什么机制选择某个组某个机器做存储的   

〗斷ホ乔殘χμё〖 2022-09-19 06:43:34

回复 1# happy_fish100

同问楼上的问题,具体什么机制选择某个组某个机器做存储的   

如痴如狂 2022-09-19 05:47:39

同问楼上的问题

一曲琵琶半遮面シ 2022-09-19 04:23:17

回复 1# happy_fish100
请问一下,复制对应文件只需要复制BDB文件吗?还需不需要复制别的binlog.000之类的文件?

还有,fastdht的多个组是怎么存放数据的?轮询?指定?还是free space最大的组?在配置文档中没看到有设置像store那样的存放方式的项。

还希望鱼大指点一下疑惑。

   

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文