DHT:分布式哈希表

分布式哈希表(DHT,Distributed Hash Table)用来在一群节点中实现(key, value)的关系映射。在类似Cassandra、bitcomet等分布式系统中使用了DHT。

DHT是一个不存在中心点的、提供key->value查询功能的分布式系统,关于key到value的映射信息分布式地保存在多个节点上,数据的变化和节点的变化只会影响到部分节点,不会对所有节点产生影响。

作为一种基础架构,DHT可以用来构建更多复杂应用,比如分布式文件系统,域名服务,即时消息,p2p文件共享和内容分发平台。

DHT定义一个关键字空间,比如所有160位的位串集合,然后通过某种算法,把这些关键字映射到整个DHT系统的所有节点上。这种算法称为一致性哈希(consistent hashing)。通过这种算法,DHT可以根据某个关键字找到某个节点,然后对该节点进行操作,比如存数据,查数据等。

DHT中的每个节点只需要与其他部分节点相连即可,使用某个关键字访问任何一个节点,这个节点都可以将信息前传到该key对应的节点上进行处理,这种处理叫做基于关键字的路由(key-based routing)

一致性哈希算法中,通过一个函数定义两个关键字之间的距离,然后给每个节点赋值一个关键字,作为该节点ID,所有离该ID最近的关键字都属于该节点。

今天先学理论,有点迷迷瞪瞪,下次分析一些实现,比如memcached等。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值