为了实现多层流量切分,我们的思路是先实现一种hash算法,这种hash算法的输入是cookie、随机值等信息,输出是单次hash的结果,并且保证这种hash算法结果足够的均匀和随机,然后将这种hash进行变换,扩展出多个正交的hash算法。
为了验证单个hash算法的随机性和均匀性,我们进行了实验验证,如下图所示,每一行表示一个100%的全集,每一列表示从全集中抽取出10%,测试的全集是100w,从下面的测试数据来看,每个层中的流量切分结果是比较均匀和随机的。
图1.5 单hash算法均匀性、随机性验证实验数据
有了单层hash算法,我们需要将单层hash扩展成为多层,这里可以采用的方法很多,本文采用的是移位变换的方法将单层hash扩展成为多层hash,多层实验流量切分的真实环境测试数据如下文所示。
4. 实际数据测试
为了验证其算法的可行性,我们进行了实际数据测试,测试结果如下:
表1.2 均匀性验证数据
by yangfangwei&huangjin&yaoshiyu

网友点评
精彩导读
科技快报
品牌展示