Go语言实现的分散式散列表:Pastry

jopen 11年前

Pastry 是 Go 语言编写的一个分散式散列表,Pastry 使用 OS X 10.8.1, Go 1.0.3 开发,但经过验证支持 Ubuntu 12.04 LTS (64-bit), Go 1.0.3.

Pastry 让​​服务器成为集群的自组织。这意味着服务器可以彼此之间发送消息,而不需要中央枢纽,没有单点故障。服务器,称为节点,可以简单地宣布自己的存在,并与其余各组开始传递消息。

分散式散列表(英语:Distributed Hash Table,简称DHT)是分散式计算系统中的一类,用来将一个关键值(key)的集合分散到所有在分散式系统中的节点,并且可以有效地将信息转送到唯一一个拥有查询者提供的关键值的节点(Peers)。这里的节点类似散列表中的存储位置。分散式散列表通常是为了拥有极大节点数量的系统,而且在系统的节点常常会加入或离开(例如网络断线)而设计的。在一个结构性的延展网络(overlay network)中,参加的节点需要与系统中一小部份的节点沟通,这也需要使用分散式散列表。分散式散列表可以用以创建更复杂的服务,例如分散式文件系统、点对点技术文件分享系统、合作的网页高速缓存、多播、任播、域名系统以及实时通信等。

项目主页:http://www.open-open.com/lib/view/home/1350778150258