当 DHT 中的节点死亡时,数据会发生什么?

2024-02-21

问题取自这里:https://groups.google.com/forum/#!topic/byu-cs-460-computer-networking/hpESI0NapmY https://groups.google.com/forum/#!topic/byu-cs-460-computer-networking/hpESI0NapmY

“我正在考虑分布式哈希表如何存储数据。我知道每个节点都有一个标识符,然后数据存储在标识符与其(数据)哈希值最接近的后继节点上。我还了解这一点当节点加入或离开网络时,数据将被传输以反映网络中存在的新节点集。

我不明白的是,当节点在移交数据之前死亡时会发生什么。那数据丢失了吗?也许我真正的问题是:如何保证数据在 DHT 中不会丢失?”


一般来说,DHT 只是一种分布式算法。具体的实现以不同的方式处理节点故障。

Put 请求通常是通过一定程度的冗余来完成的。另外,目标节点可以在它们之间复制数据,或者源节点可以定期刷新存储的数据。

在完全去中心化的 p2p 环境中,您无法控制各个节点,您无法真正保证数据本身永远保留在网络中。尽管在足够稳定的网络上,可能可以实现以天为单位的生命周期。

在 p2p 网络中,DHT 通常仅用于发现和元数据发布。

IE。如果节点 A 想要找到节点 B,那么它将查询 DHT,并在查找过程中访问一堆对 A 或 B 没有直接兴趣的第三方节点。

一旦发现完成,“繁重的工作”就通过 A 和 B 之间的直接点对点连接来完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 DHT 中的节点死亡时,数据会发生什么? 的相关文章

  • Windows Metro 应用程序中没有 P2P?

    在 BUILD 的 NET 开发人员对 Windows 8 应用程序开发的看法 会议中 讲师提到 Metro 配置文件中仅公开了客户端 WCF 功能 我们无法创建服务器 http channel9 msdn com Events BUILD
  • HTML5 是否支持点对点(而不仅仅是 WebSocket)

    我使用的语言是 HTML5 兼容浏览器上的 Javascript 我的理解是 WebSockets 需要一个套接字服务器在客户端之间来回传输推送通知和消息 HTML5 是否有不需要套接字服务器的实际点对点功能 有谁见过 Javascript
  • 如何列出从单个卷 ID EC2 实例创建的所有快照?

    在过去的几个月中 我们的快照备份量增加 因此我们每月在亚马逊 EC2 上的账单也随之增加 现在我想删除一些旧的 EC2 快照 所以问题是 如何使用 EC2 命令行工具查找从单个卷 ID 创建的所有快照 I tried ec2 describ
  • 运行 GO111MODULE=on go install 。 ./cmd/... 在云初始化中

    我有一个使用 cloud init 部署的 bash 脚本 我的 bash 脚本包含以下部分代码 GO111MODULE on go install cmd 当直接在已部署服务器的终端中运行我的 bash 脚本时 它按预期工作 但是当我在云
  • 如何在云(AWS、heroku 等)中跨多个节点建立时钟同步?

    我想在云中运行一个大型节点集群 AWS Heroku 或者可能是自我管理的 VMS 其时钟必须与预定义的容差同步 我正在寻找大约 200 毫秒的容差 这意味着 如果我有 250 个节点 那么这 250 个节点之间的最大时钟差异不应超过 20
  • Azure 的云服务负载平衡极其不均匀

    我正在利用 Azure 托管云服务 最近我对其进行了修改 使其可以跨多个实例进行扩展 包括会话缓存辅助角色 我的问题是 为什么我会在一个实例上看到极端负载 高达 90 但在其他实例上却没有 所有其他实例为 15 20 我应该担心吗 在我设置
  • Node+Passport.js + Sessions + 多个服务器

    护照很棒 我现在发现它处理会话的方式存在一些问题 一定是我用错了 登录 会话 我存储在数据库中的用户数据对我来说一切都很顺利 然而 我发现当我转移到生产环境 具有多个服务器的 EC2 上的云 时 我每次都会丢失登录会话 现在我很清楚这一点
  • Cloud Firestore:如何在集合查询中获取文档引用并将其映射为 JSON 值?

    假设我有一个评论集合 每个评论对象都有一个发帖用户的 文档引用 我需要一个查询 该查询将返回一个评论列表 其中包括每个用户引用的值 因此我的查询返回一个格式良好的 Json 评论对象 类似的问题在这里被问到Firebase Firestor
  • 通过多点连接发送和接收邀请

    我知道这个问题之前已经被问过 但我只是想知道为什么它在我的特定情况下不起作用 我正在尝试从一个视图控制器的多点连接发送邀请 并在另一个视图控制器上接收它 我的发送代码是 self invitePeer selectedPeerID toSe
  • 在 Amazon EC2 Windows 实例中自动挂载 EBS 卷

    有谁知道如何自动挂载弹性块存储 http aws amazon com ebs 在 Amazon 中启动 Windows 2003 实例时的 EBS 卷弹性计算云 http aws amazon com ec2 EC2 Setup 确保 E
  • 混合 http/https 站点

    到目前为止 我的 https 部署通常涉及使用 https 对整个站点进行简单锁定 并在 Web 服务器上提供 http 到 https 的重定向 我现在计划拥有一个 ASP NET MVC 站点 在云上 其中包含 http 和 https
  • 使用中间服务器创建点对点连接

    我想连接两个客户端 通过 TCP IP 套接字 客户端可以使用中间服务器发现彼此 一旦客户端发现彼此 服务器就不应该有任何参与 我对此做了一些研究 发现很多人建议JXTA 但我想自己从头开始创建协议 因为将来我可能也必须使用 WebSock
  • Terraform - 我应该使用 user_data 还是 Provisioner 来引导资源?

    看来我可以使用user data使用模板文件或 远程执行 provisioner使用内联命令进行引导 那么哪一个被认为更惯用呢 你应该使用user data The 用户数据 http docs aws amazon com AWSEC2
  • 寻找一种简单、简约的方式在云端存储小数据包

    我正在寻找一个非常简单且免费的小数据包云存储 基本上 我想编写一个 Greasemonkey 脚本 用户可以在具有共享数据集的多台计算机上运行该脚本 数据主要只是一个数字 每个用户八个字节就足够了 这一切都归结为以下要求 易于开发 这是一个
  • HTML5 Websockets 可以在不使用服务器的情况下直接连接 2 个客户端(浏览器)吗? (P2P)[重复]

    这个问题在这里已经有答案了 使用 HTML5 Websockets 我可以直接在 2 个客户端 浏览器 之间打开套接字 假设我知道它们的 IP 地址并且不存在 NAT 遍历问题 我想将一些数据直接从一个浏览器发送到另一个浏览器 本质上是创建
  • 种子中的 DHT

    我正在编写一个 P2P 实现 我希望将其去中心化 然而我在掌握如何做时遇到了一些困难DHT https en wikipedia org wiki Distributed hash table在像 BitTorrent 这样的协议中是有效的
  • 何时应使用以下各项:Amazon EC2、Google App Engine、Microsoft Azure 和 Salesforce.com? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是在非常普遍的意义上问这个问题 无论是从云提供商还是云消费者的角度来看 此外 问题不针对任何特定类型的应用程序 实际上 目的是了解哪种类型的应
  • 是否可以通过互联网在两个移动设备 (iPhone) 之间连接套接字?

    是否可以通过互联网在两个移动设备 iPhone 之间连接套接字 我正在尝试发现每个设备的IP并直接连接 我知道可以使用 Bonjour 来完成 但这只适用于本地网络 我需要通过互联网在两个设备之间建立高速连接 Thanks 如果你有两个 I
  • 比特币客户端如何确定第一个连接的IP地址?

    据我所知 比特币是一种 p2p 协议P2P协议必须有一个专用的中央服务器 https stackoverflow com questions 310607 peer to peer methods of finding peers 但据说比
  • 同步通过 LAN 电缆连接的两台 Windows 7 计算机之间的时间

    我有许多笔记本电脑 它们运行我们的应用程序 同时通过以太网电缆成对连接 但未连接到任何外部网络或互联网 时间 我需要连接对来同步其系统时间 但由于每台计算机都需要能够与任何其他计算机同步 因此我无法将一台计算机定义为时间服务器 而另一台计算

随机推荐

  • 旋转图像和像素碰撞检测

    我这里有这个游戏plunker http plnkr co edit VCdFyn3SE4wSZa0OLRRT p preview 当剑不旋转时 一切正常 您可以通过取消注释第 221 行并注释掉第 222 223 行进行检查 当它们像上面
  • 如何在android中提取这个字符串变量?

    String test 1 Low level programming language true 2 High level programming language false 3 Machine language false 4 All
  • C中的时间戳,精度为毫秒

    我对 C 编程比较陌生 我正在开发一个需要非常精确的时间的项目 因此我尝试写一些东西来创建毫秒精度的时间戳 这似乎有效 但我的问题是这种方法是否正确 或者是否有更简单的方法 这是我的代码 include
  • xdebug 扩展未加载

    我已经安装了 xdebug 显示在 phpinfo 中 但我试图让它与 PHPUnit 的代码覆盖功能一起使用 它一直告诉我 XDebug 扩展未加载 我的 phpunit 与 WAMP 工作得很好 当我运行 php m 时 我没有看到 p
  • 无法在 C# 应用程序中为我的线程使用多个处理器组

    根据MSDN 文档 https msdn microsoft com en us library jj665638 v vs 110 aspx and 斯蒂芬 图布 回答 https social msdn microsoft com Fo
  • 如何保持 Asp.Net Core 控制器返回的 json 中属性的大小写?

    我们有一些遗留的 js 代码 它们执行 ajax 调用 并期望将属性命名为 Id Name 等 默认情况下 Asp Net Core 骆驼中的 json 序列化程序会使用返回实体上的属性 但我如何告诉它使用相同的大小写和 C 代码 最好我想
  • 如何在 MATLAB 中查找集合的中心点

    我正在尝试计算medoid http en wikipedia org wiki Medoid在MATLAB中 但是 我不知道该怎么做 我的数据集由多个三维数据点组成 因此具有三个轴的系统中的点云 中心点就是点 其与簇中所有其他对象的平均差
  • C# 应用程序中的全局鼠标钩子[重复]

    这个问题在这里已经有答案了 我想创建一个应用程序 当用户单击第三方 Windows 应用程序的指定按钮时 该应用程序将启动某些操作 我已经读过这里 C 应用程序中的全局鼠标捕获 https stackoverflow com questio
  • 使用 Perforce 代替 Subversion 有什么好处?

    我的团队使用 SVN 已有几年了 我们现在可以选择切换到 Perforce 做出这样的转变会有什么好处 和陷阱 P4 keeps track of your working copy on the server This means tha
  • 为什么事件冒泡在分离的 DOM 元素中不起作用?

    我有一个父母 div 有一个孩子 div 在内存中 未附加到当前文档 我想触发一个CustomEvent关注孩子 但听父母的事件 这是我的代码 var parent document createElement div var child
  • 在 Sublime Text 中添加自定义菜单

    如何添加自定义菜单项崇高文本2 有任何想法吗 我看到有一个主 sublime 菜单文件但不知道如何编辑它 Thanks sublime menu 文件只是 JSON 您可以在您的用户目录中创建一个 Main sublime menu 它将与
  • IOS 上的 PWA 和离线存储

    我们希望开发一款 应用程序 能够为评估人员记录受损汽车的详细信息 这个想法是让少数评估员拥有公司的 iPad 然后 当汽车损坏并返回车场时 他们可以参观拍照 输入一些详细信息 然后将其上传到主系统中 有些车场可能位于没有互联网覆盖的区域 因
  • 使用抽象超类作为Spring数据存储库的参数

    我知道如何实现 spring 数据存储库 创建一个像这样的界面 public interface CountryRepository extends CrudRepository
  • .on() 和 .click() 哪个更快?

    如果我有一个带有删除记录链接的表 那么连接单击事件的最佳方法是什么 这些在幕后的评价是否相同 table on click delete function do stuff or table delete click function do
  • 在 Twig 中使用自定义函数

    在我的模板中 我想输出服务器时区 我的模板有类似的东西 getservertimezone 然后在services yml我拥有的那个捆绑包的配置 my twig extension class My WebsiteBundle Exten
  • Switch 语句如何工作

    switch 语句如何立即下降到内存中的正确位置 对于嵌套的 if 语句 它必须与每个语句进行比较 但对于 switch 语句 它会直接转到正确的情况 这是如何实施的 有很多不同的方法来编译switch语句转换成机器码 以下是一些 The
  • C# 中从字符串数组中删除重复字符串的有效方法

    我想知道一种有效的方法来从 C 中的字符串数组中删除重复项 例如 string a abc xyz abc def ghi asdf ghi xd abc 会变成 string a abc xyz def ghi asdf xd 删除重复条
  • 错误:存在未提交的事务

    我在 SSMS 中打开一个新窗口并运行以下命令 SET ANSI DEFAULTS ON GO CREATE PROCEDURE dbo zzz test2 a int AS SET NOCOUNT ON SET a 1 RETURN 0
  • 如何解决 SYNCSORT JCL 中的“WER046A SORT CAPACITY EXCEEDED”问题

    我正在尝试对数据集进行排序并写入新的数据集 每次执行作业时 它都会异常终止 ABEND U0016 消息形式 SYSOUT WER276B SYSDIAG 24646562 29667262 29667262 27500165 WER164
  • 当 DHT 中的节点死亡时,数据会发生什么?

    问题取自这里 https groups google com forum topic byu cs 460 computer networking hpESI0NapmY https groups google com forum topi