我们的项目需要一个分布式可扩展的 no-sql 数据库。为了安全起见,每个数据记录都必须存储在多个数据服务器(一个主服务器和一些从服务器)中。
我们希望系统能够动态地增加或减少服务器而不丢失任何数据记录。有没有相同的一致性哈希功能的算法?
我们的项目需要一个分布式可扩展的 no-sql 数据库。为了安全起见,每个数据记录都必须存储在多个数据服务器(一个主服务器和一些从服务器)中。
我们希望系统能够动态地增加或减少服务器而不丢失任何数据记录。有没有相同的一致性哈希功能的算法?
如果我是你,我会使用sha1
散列算法作为你数据的关键。到目前为止,没有人能够找到此哈希的冲突。
sha1 对 Python 或 Perl 等常用脚本语言有很好的支持,因此您不必重新发明轮子。
作为一个小数据点,很多软件都使用 sha1 作为哈希算法的选择(例如 git)。