分布式系统阅读笔记十P2P对等网络系统

一、介绍

P2P系统全称是peer-To-peer System,就是对等系统的意思。他的出现使得资源可以在所有的节点间进行数据的共享了,前提是只要他是连上网络的。在P2P系统中,所有的资源和数据对象都分布于各个节点中。

1、P2P系统可以用在一些分布式的应用和服务当中。

2、在P2P中一个好的资源存放算法就显得非常重要。

3、正是因为上面的第2条原因,出现了P2P的中间件,目的就是为了location定位资源对象或者是副本容错的处理,每个资源以GUID的形式来区别标识别。

二、例子:Napster

一个典型的P2P的例子叫Napster?他是什么东西呢,百度百科上的解释为:Napster是一款可以在网络中下载自己想要的MP3文件的软件。它同时能够让自己的机器也成为一台服务器,为其它用户提供下载。简单的一句话就是可以进行音乐文件共享的系统。Napster采用的是中心索引的方式,用户要想查找资源,首先要到索引服务器上去找资源的索引,然后再根据索引去目的节点上download资源,索引服务器本身是不存放资源的。因此这里就会存在索引服务器单点瓶颈的问题。在Napster和P2P系统中都会有的一个问题就是版本问题,因为数据时完全共享的。

三、P2P中间件

1、P2P中间件一个核心的功能就是提供了一个让客户端能够更快的访问到资源的层次。在Napster中是包含了一个文件的索引的方式。

2、当然,P2P应该还需要做到下面的一些要求:1、全局的扩展性。2、负载均衡性。3、能够与邻居进行交流。4、能够控制节点的增加和离开。

四、路由覆盖层

1、在P2P系统中,路由覆盖层是被作为一个分布式的算法来进行节点和数据对象的定位。

2、每个对象会有属于他自己的GUID。

3、路由层也会做一些其他的操作:1、添加一个对象。2、或者说是删除一个对象。

五、覆盖层的例子:Pastry,Tapestry

1、Pastry是P2P的四大路由算法之一,主要是做消息路由的。Tapestry是用来做数据的海量存储的。

2、同样的,Pastry会为每个节点分配一个128位的GUID,这个ID是通过安全哈希算法,就是SHA算法计算所得。

3、Pastry提供了一种找到最近邻的算法:通过发送信息测算一个round-trip delay延时的方式,比时间哪个最短,哪个最短的,距离最近。

4、Pastry的容错机制是也是通过周期性发送heartBeat的方式进行错误监听的。

5、Tapestry也是基于GUID进行消息的路由的。

6、在这里提到了一个无结构的P2P系统,之前说的都是由结构的P2P系统,无结构的优点在于他是纯自己管理自己的,结构简单,但是无法保证对象的可达性,对象的查找就是纯粹的找邻居的方式,然后通过neighbor找neighbor的neighbor。有结构的P2P的缺点是太过复杂。

六、覆盖层的应用例子:Squirrel,OceanStore,Ivy

Routing overlay层的原理有被用来做了非常多的应用,比如基于Pastry的Web Cache服务的Squirrel,还有后面的OceanStore,Ivy。

1、这里的资源一般存放在2个地方,一个叫Original Server,原服务器中,一个叫Proxy Server,代理服务器,也就是存放Cache的地方,只有当Proxy Server没哟被命中缓存的使用,会想Original Server去加载,在返回请求者。

2、OceanStore项目是因特网上基于P2P结构的分布存储应用,他采用了一种写时的策略,进行文件的更新,所以上面会有非常多的版本的文件。

3、Ivy是一个可读写的P2P文件系统,里面有一个特殊的服务就是log日志服务,只要进行了文件的写操作,就是记录相应的日志,因此也就可以利用日志进行数据的恢复。

4、Ivy进行更新操作所用的策略是:close-to-opne,就是更新操作只在文件关闭了的条件上进行,这个时候就没有process在使用了。


参考文献:<<Distributed Sysytems Concepts And Design>>原版第五版,author:George Coulouris,Jean Dollimore, Tim Kindberg,Gordon Blair

更多相关文章
  • 据清科集团旗下私募通统计,2015年6月中外创业投资及私募股权投资机构新募集和新设立基金数共计193支,其中92支新募集基金,披露募资金额85支基金,其中有投资新三板基金13支,共募集金额79.96亿美元:101支新设立基金,其中,投资新三板基金共有43支,披露目标规模41支基金,计划募资375.5 ...
  • 10月23日消息,苹果今天宣布其最新的桌面操作系统Mac OS X Mavericks将免费提供给所有Mac用户下载.科技网站ReadWrite今天撰文指出,此举不仅会给苹果自己带来重大影响,也将会损害微软Windows.以下是文章主要内容:苹果的产品在普通消费者的眼里通常都比较昂贵,它们甚少跟免费 ...
  • 我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易.但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了. 下面分别介绍如何用js来动态设置.   一.动态设置字段的change事件 // form on load event function onLoad ...
  • 最近,在SQLServer中使用Windows用户组时,发现了一些比较诡异的问题. SQL Server版本:SQL Server 2008 R2 问题1:Login failed for user 'xx\xx' 操作描述:          在SQL Server中添加一个Windows用户,并 ...
  •  区别一: 重定向时浏览器上的网址改变 转发是浏览器上的网址不变 区别二: 重定向实际上产生了两次请求 转发只有一次请求 重定向: 发送请求 -->服务器运行-->响应请求,返回给浏览器一个新的地址与响应码-->浏览器根据响应码,判定该响应为重定向,自动发送一个新的请求给服务器,请 ...
  • 整理:Web开发人员常用的火狐Firefox插件 1.FireBug   Firebug 为你的 Firefox 集成了浏览网页的同时随手可得的丰富开发工具.你可以对任何网页的 CSS.HTML 和 JavaScript 进行实时编辑.调试和监控…\n\nFirebug 1.4 仅支持 Firefo ...
一周排行
  • 操作步骤:1.      载入图像(灰度图或者彩色图),并使其大小一致:2.      若为彩色图,增进行颜色空间变换,从RGB转换到HSV,若为灰度图则无需变换:3.      若为灰度图,直接计算其直方图,并进行 ...
  • 好久不写技术文章了,越发的觉得单纯的讲技术没啥意思.怪不得知乎越来越火,因为大家都喜欢看故事,不喜欢硬生生的技术文章.笔者今天就来就给大家讲故事:)最近网站压力突然增大,把带宽都占满了,访问网页发现非常的慢,打开页面 ...
  • 寻找最大数 时间限制:1 ms    内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=92081346718538,m=10时,则新的 ...
  • DNS服务器  正向解析 根据主机名称(域名)查找其对应的ip地址 反向解析根据ip地址查找其对应的主机名称(域名) 反向解析在反垃圾邮件/安全防护等领域使用 Dns查询方式分为迭代查询与递归查询 其中Dns客户端与 ...
  • 遭遇修改的扬科官网截图 腾讯体育讯 北京时间10月28日,女子网球头号选手.现WTA世界排名第一的扬科维奇个人官网遭遇黑客攻击.攻击来自支持科索沃独立的阿尔巴尼亚和科索沃黑客组织,他们声称这是一次报复. 扬科的官网页 ...
  • 路由猫:路由猫是一种将路由器与调制解调器(俗称"猫")合二为一的产品,该产品同时具备调制解调.路由两大功能.简单的说就是既有路由器的功能,也具备猫(Modem)拨号功能.在网络术语中也称为DCE和 ...
  • 马云毫无疑问是过去两天"全球互联网大会"上焦点中的焦点.虽然马化腾.李彦宏.雷军.刘强东各路大佬悉数到场,但是都挡不住镁光灯对准马省长一顿狂拍.马云在"跨境电子商务和全球经济一体化&qu ...
  • 近日,网友“上海老虎333”发现自己家的无线网络竟然 “挂靠”了9台电脑,新升级的10M光纤网速还比不上原来2M的网速,于是在天涯上发帖怒斥蹭网的小偷.相关律师接受采访时谈到,看似只是蹭一蹭,但蹭网者已构成民事侵权行 ...
  •     根据自己的理解,制作了一张系统分析和设计人员使用的过程目标工具产物表.供日常备用.后续可能增加设计工具.样例和理论文章链接.肯定有所遗漏,欢迎大家补充.
  • 据一名安全专家的预测,随着越来越多的公司开始选择将数据和应用从内部IT系统迁移到第三方提供的云服务上:因此,针对供应商基础设施的攻击也将变得“越来越严重”.专家认为这些威胁将促使相关人员就建立云标准的必要性展开讨论. ...