有时候,在上线新功能或页面改版时,咱们很难拿捏准:新版功能是否优于老版。一般的作法,就是使用AB
策略:针对不一样的用户,展现差别的页面,提供不一样的功能。电商网站的推荐功能,本质也是AB
策略。算法
经过使用AB
策略,能够作到逐步改进现有功能。就好比咱们上线新发版,能够选择分流老版本20%的流量到新版本,确认新版本没问题后,再将流量所有切到新版本。微服务
设计上,主要从两个角度来考虑AB
策略:网站
AB
的实验方案,A
作什么?B
作什么?AB
分流,经过设备区分?性别区分?仍是其余同时,AB
策略也存在一个层级的问题,即,在现有的AB
上,如何再进行AB
?设计
咱们能够将AB
策略抽象成一个微服务:AB服务
。AB服务
主要提供分流服务,业务端经过请求该服务来决定使用A
策略仍是B
策略。还能够将AB服务
,做为一个开关来使用,本质上并无什么区别。code
另一个核心问题:咱们能提供哪些分流算法呢?HASH
取模,或者取余,这些均可以。电商