开发者社区> 问答> 正文

一致性hash的实际应用疑问

今天重看了一下一致性哈希的论文,心里有几处不清楚的地方,求指导
场景
四台server服务器(192.168.1.1-4),redis数据库,存储key-value键值对
问题1
首先,redis的key-value数据一般需要3份备份,对应到一致性哈希的场景,可以说有一台主服务器,和2台从服务器。问题:从服务器的选取是一致性哈希代码里选取三个不同的server,还是选取一个server,然后给这个server再配上两台从服务器呢(这样服务器从原先的4台,增加到4 + 2 * 4 = 12台),我考虑用memcache记录key、主、从分布表
问题2
如果冗余到其他两台服务器,假设是ABCD四台服务器,key的主库是A,备份库在BC上,那当A单点故障,BC之间如何选择,BC上针对A节点的增删改数据如何再恢复给A节点吗?我看了NRW模型,但是没能完全理解
希望各位朋友帮忙解惑。

展开
收起
落地花开啦 2016-02-28 10:39:18 2252 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    个人建议,你可以参考一下
    1.还是采用8个server,主备的方式,采用一致性哈希算法增加节点服务器可以通过虚拟节点和权重来防止数据偏移,这里的节点服务器可以用VIP来标识
    2.主备服务器之间可以采用keepalived方案,对外提供的是虚拟ip,自动故障转移,至于主备服务器的数据库同步,可以用redis提供的主从机制,也可以自己crontab+aof日志,可以再redis数据库上再封装一层insert或者update操作,对外提供api接口,需要操作时访问该接口即可

    2019-07-17 18:49:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载