布逻辑上来说不同的组件分布在不同的机器上。
它的优点是当功能逻辑的和物理的分布在不同的机器上时每个机器都可以定制以实现某些特定的功能。缺点是服务器的负载较重。
水平分布是客户或服务器被物理的分为逻辑上平等的部分每一部分处理自己完整的数据集从而达到负载平衡。每个进程即是客户端又是服务器进程的交互式对等的。
它可以分为有结构和无结构两种形态。它的缺点是每台机器都要运行复杂的进程。
8Chord系统的结构和无层次名字解析。
f节点逻辑上组成一个环关键字是K的数据项被映射到最小的标识符idk被称为k的后继记为succk。在实际查找数据项的时候运行在任意节点的应用程序会调用函数lookupk这个函数会返回succk的地址。然后应用程序会连接相应的节点得到数据的副本。查找不是按照这个环的顺序依次查找而是在每个节点保存有到达其他节点的捷径这样查找可以在OlogN的时间复杂度内完成。N是参与这个覆盖网络的节点数。
节点如何加入这个系统。首先要生成一个随机的标示符id。如果标示符空间足够大并且生成的随机数足够随机那么生成的随机数和已经存在的节点标示符相同的概率几乎为零。然后这个节点运行lookupid查找这个节点的后继这个succid的地址就会被返回。那么新加入的节点就会联系这个后继和它的前趋并且插入。当然系统中的每个节点都保留它的前趋的信息。最后现在应该以id为后继的数据从原来的后继中被转移过去。
节点离开。节点离开很简单。节点id把离开的信息通知它的前趋和后继然后把他的数据转移给succid。
9非结构化点对点体系结构的主要思想为什么要引入覆盖网络。
非结构化点对点系统主要依靠构建一个覆盖网络的随机算法。它的主要思想是每一个节点维护一个邻居列表但是这张表或多或少是以一种随机的方式构建的。同样数据项也是随机分布在节点上的。当一个节点定位某个数据项时它只能用洪泛法查询整个网络。
很多非结构化的点对点系统的目标是构建一个很像随机图的覆盖网络。基本的模式是每个节点维护一张邻居表理想的状态是每个邻居节点是从现在的节点集中随机的选择“活的”节点。节点表也被称为部分视图。
10为什么要引入超级对等体引入超级对等体有什么好处
在非结构化的对等系统中随着网络的增大定位数据项就成了问题。因为一个节点只能使用洪泛法定位数据在某些情况下洪泛还可能被切断。因此人们考虑利用一些特殊的节点维护数据的索引或者作为代理服务器缓存一些网页供客户端访问这些节点就成了超级对等体。r