runner / consistent-hash
v1.1.2
2018-07-13 05:03 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2024-08-28 23:07:01 UTC
README
一致性哈希分表
借鉴
权重的实现方法是借鉴的,其他地方也多多少少借鉴了一些。较大的区别在于,我把环形空间上的每个节点,无论是节点本身还是虚拟节点,都视为虚拟节点,并记录虚拟节点与真实节点的映射关系。因此,最终计算出来的,只能有一个目标节点。
总的来说,对这个东西还是一知半解,试试看吧。
使用
<?php use Runner\ConsistentHash\ConsistentHash; $hash = new ConsistentHash( [ [ 'node' => 'node_1', ], [ 'node' => 'node_2', 'weight' => 2, ], [ 'node' => 'node_3', 'weight' => 3, ], [ 'node' => 'node_4', 'weight' => 4, ], [ 'node' => 'node_5', 'weight' => 5, ], ], 'md5' ); $node = $hash->lookup('RUNNERLEER');
待办事项
还不知道这个权重的实现方法是否可靠