PHP实现的一致性Hash算法详解【分布式算法】(2)

$hashServer = new MyConsistentHash(); $hashServer->addServer('192.168.1.1'); $hashServer->addServer('192.168.1.2'); $hashServer->addServer('192.168.1.3'); $hashServer->addServer('192.168.1.4'); $hashServer->addServer('192.168.1.5'); $hashServer->addServer('192.168.1.6'); $hashServer->addServer('192.168.1.7'); $hashServer->addServer('192.168.1.8'); $hashServer->addServer('192.168.1.9'); $hashServer->addServer('192.168.1.10'); echo "增加十台服务器192.168.1.1~192.168.1.10<br />"; echo "保存 key1 到 server :".$hashServer->lookup('key1') . '<br />'; echo "保存 key2 到 server :".$hashServer->lookup('key2') . '<br />'; echo "保存 key3 到 server :".$hashServer->lookup('key3') . '<br />'; echo "保存 key4 到 server :".$hashServer->lookup('key4') . '<br />'; echo "保存 key5 到 server :".$hashServer->lookup('key5') . '<br />'; echo "保存 key6 到 server :".$hashServer->lookup('key6') . '<br />'; echo "保存 key7 到 server :".$hashServer->lookup('key7') . '<br />'; echo "保存 key8 到 server :".$hashServer->lookup('key8') . '<br />'; echo "保存 key9 到 server :".$hashServer->lookup('key9') . '<br />'; echo "保存 key10 到 server :".$hashServer->lookup('key10') . '<br />'; echo '<hr />'; echo "移除一台服务器192.168.1.2<br />"; $hashServer->removeServer('192.168.1.2'); echo "保存 key1 到 server :".$hashServer->lookup('key1') . '<br />'; echo "保存 key2 到 server :".$hashServer->lookup('key2') . '<br />'; echo "保存 key3 到 server :".$hashServer->lookup('key3') . '<br />'; echo "保存 key4 到 server :".$hashServer->lookup('key4') . '<br />'; echo "保存 key5 到 server :".$hashServer->lookup('key5') . '<br />'; echo "保存 key6 到 server :".$hashServer->lookup('key6') . '<br />'; echo "保存 key7 到 server :".$hashServer->lookup('key7') . '<br />'; echo "保存 key8 到 server :".$hashServer->lookup('key8') . '<br />'; echo "保存 key9 到 server :".$hashServer->lookup('key9') . '<br />'; echo "保存 key10 到 server :".$hashServer->lookup('key10') . '<br />'; echo '<hr />'; echo "移除一台服务器192.168.1.6<br />"; $hashServer->removeServer('192.168.1.6'); echo "保存 key1 到 server :".$hashServer->lookup('key1') . '<br />'; echo "保存 key2 到 server :".$hashServer->lookup('key2') . '<br />'; echo "保存 key3 到 server :".$hashServer->lookup('key3') . '<br />'; echo "保存 key4 到 server :".$hashServer->lookup('key4') . '<br />'; echo "保存 key5 到 server :".$hashServer->lookup('key5') . '<br />'; echo "保存 key6 到 server :".$hashServer->lookup('key6') . '<br />'; echo "保存 key7 到 server :".$hashServer->lookup('key7') . '<br />'; echo "保存 key8 到 server :".$hashServer->lookup('key8') . '<br />'; echo "保存 key9 到 server :".$hashServer->lookup('key9') . '<br />'; echo "保存 key10 到 server :".$hashServer->lookup('key10') . '<br />'; echo '<hr />'; echo "移除一台服务器192.168.1.8<br />"; $hashServer->removeServer('192.168.1.8'); echo "保存 key1 到 server :".$hashServer->lookup('key1') . '<br />'; echo "保存 key2 到 server :".$hashServer->lookup('key2') . '<br />'; echo "保存 key3 到 server :".$hashServer->lookup('key3') . '<br />'; echo "保存 key4 到 server :".$hashServer->lookup('key4') . '<br />'; echo "保存 key5 到 server :".$hashServer->lookup('key5') . '<br />'; echo "保存 key6 到 server :".$hashServer->lookup('key6') . '<br />'; echo "保存 key7 到 server :".$hashServer->lookup('key7') . '<br />'; echo "保存 key8 到 server :".$hashServer->lookup('key8') . '<br />'; echo "保存 key9 到 server :".$hashServer->lookup('key9') . '<br />'; echo "保存 key10 到 server :".$hashServer->lookup('key10') . '<br />'; echo '<hr />'; echo "移除一台服务器192.168.1.2<br />"; $hashServer->removeServer('192.168.1.2'); echo "保存 key1 到 server :".$hashServer->lookup('key1') . '<br />'; echo "保存 key2 到 server :".$hashServer->lookup('key2') . '<br />'; echo "保存 key3 到 server :".$hashServer->lookup('key3') . '<br />'; echo "保存 key4 到 server :".$hashServer->lookup('key4') . '<br />'; echo "保存 key5 到 server :".$hashServer->lookup('key5') . '<br />'; echo "保存 key6 到 server :".$hashServer->lookup('key6') . '<br />'; echo "保存 key7 到 server :".$hashServer->lookup('key7') . '<br />'; echo "保存 key8 到 server :".$hashServer->lookup('key8') . '<br />'; echo "保存 key9 到 server :".$hashServer->lookup('key9') . '<br />'; echo "保存 key10 到 server :".$hashServer->lookup('key10') . '<br />'; echo '<hr />'; echo "增加一台服务器192.168.1.11<br />"; $hashServer->addServer('192.168.1.11'); echo "保存 key1 到 server :".$hashServer->lookup('key1') . '<br />'; echo "保存 key2 到 server :".$hashServer->lookup('key2') . '<br />'; echo "保存 key3 到 server :".$hashServer->lookup('key3') . '<br />'; echo "保存 key4 到 server :".$hashServer->lookup('key4') . '<br />'; echo "保存 key5 到 server :".$hashServer->lookup('key5') . '<br />'; echo "保存 key6 到 server :".$hashServer->lookup('key6') . '<br />'; echo "保存 key7 到 server :".$hashServer->lookup('key7') . '<br />'; echo "保存 key8 到 server :".$hashServer->lookup('key8') . '<br />'; echo "保存 key9 到 server :".$hashServer->lookup('key9') . '<br />'; echo "保存 key10 到 server :".$hashServer->lookup('key10') . '<br />'; echo '<hr />';

运行结果如下

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0c20897ca43fe93451f74746230833a7.html