分布式哈希表,与单机的哈希表不同之处在于,单机的哈希表是将"key-value"结构存储在一台机器上.当这台机器出问题时,所有的数据都将受到影响.而分布式哈希表,首先每个主机根据自身的"ip:port"计算出一个hash值.每个主机根据这个hash值负责一部分的数据管理.
根据所有参与到存储中的节点的hash值,将它们构建成一个环.每个节点存储着前置节点与后继节点的信息.
DHT在创建时,当前的环中只有一个节点--即初始节点.该节点的前置节点与后继节点均为自己本身.
在程序中执行如下指令:join 可通过ip:port所标识的对应主机的进程来加入集群.
在程序中执行如下命令: put 会将该键值对存储到最适合它的主机上.
在程序中执行如下命令: get 会从集群中获取该key所对应的value
在程序中执行如下命令: info 会获取当前节点自身的信息
在程序中执行如下命令: ls 会获取当前节点的前置节点信息与后继节点信息
在程序中执行如下命令: shortcut 会配置当前节点的shortcuts
在程序中执行如下命令: leave 会离开当前所在集群
git clone到本地
cd DHT
make
./DHT