我没有权利参加分布式系统的课程。我正在阅读分布式系统,并了解复制等。
您能告诉我哪种策略最受欢迎/最常用于处理容错,还是取决于具体情况?否则哪个最容易理解?
假设我有3台服务器,复制程度为2。
所以服务器A有文件:x y
服务器B:y z
服务器C:z x
现在,每个服务器都可以接收来自用户的请求,并且需要知道哪个服务器具有哪个文件。 我知道决定哪个服务器具有哪个文件的一般技术:如外观顺序,按键值散列,使用实际值等。
假设我们正在使用散列。
我们需要在每台服务器上存储哈希表/查找,对吗?或者我们可以放弃存储哈希函数本身?
通过使用散列,我们可以获得要存储此文件的第一个系统的ID。但是第二个系统怎么样?我们是否使用单独的哈希函数来决定复制服务器?
如果我们需要存储哈希表,我们是否需要将它存储在每个服务器上?我们如何确保在存储文件时,所有3个服务器的哈希表都会更新并保持一致?
最后一点,您能否推荐一下视频资源,例如与分布式系统相关的YouTube视频/ Coursera课程或一本好书。 我想学习这些基本概念。