稳定分流增加:MurmurHash算法
来源:洛阳达内IT教育培训机构时间:2021/9/3 9:31:42
稳定分流增加:MurmurHash算法
我们采用的MurmurHash算法,参与该算法的Hash因子包括设备id、策略id和流量层id。
MurmurHash是行业内常用的ABTest算法,可应用于Redis、Memcached、Cassandra、HBase等多个开源项目。MurmurHash有两个明显的特点:
快,比安全散列算法快几十倍。
变化足够激烈。对于类似的字符串,如abc和abd,可以均匀分布在哈希环上,主要用于实现正交和互斥实验的分流。
下面简单解释一下正交和互斥:
·互斥。指两个实验流量独立,用户只能进入其中一个实验。一般来说,对于同量层的实验,如图形混排列表实验和纯图形列表实验,同一用户只能同时看到一个实验,所以互斥。
·正交。正交是指用户进入所有实验之间没有必然关系。例如,进入实验1中a版本的用户在进行其他实验时也是均匀分布的,而不是集中在某个区间。
实验分流在流量层:
实验流量层中的hash因子包括设备id和流量层id。当请求流经一个流量层时,只会命中一个实验,即同一用户的同一请求较多只会命中一个实验。先对hash因子进行hash操作,采用murmurhash2算法,可以增加hash因子的微小变化,但结果的值变化很大,然后对100求余+1,较后得到1-100之间的值。
分流实验内版本:
实验hash因子包括设备id、策略id和流量层id。用同样的策略来匹配版本。
尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/3850/news/404460/违者必究!
以上就是洛阳达内IT教育培训机构 小编为您整理 稳定分流增加:MurmurHash算法的全部内容。