背景:
20W台机器,会根据下发的配置内容,执行相应的业务逻辑,然后将执行结果返回给服务器;为了避免20W台机器同时传送结果,造成网络波动,我们就必须把这些网络流量尽可能均匀地分摊到一个时间段内;
最原始的想法是,直接使用随机数;然后,昨天跟QA开会的时候,他们提到之前主机注册到etcd集群时同样遇到了一个类似的问题;最后,请教了下老大发现md5还有这种妙处;
方法:
简单来说就是,根据hostname计算MD5,然后取当中的几位,接下来其实就是跟使用随机数一样的思路了;
参考文献:
https://liam0205.me/2015/08/12/does-the-result-of-md5-hash-function-uniform/