GrayScale灰度切量系统 【AB测试】

GrayScale是一款用于解决AB测试中规则频繁变动问题的灰度程序管理器,它提供了动态规则配置、高可用支持和离线模式。用户可以通过Dashboard动态配置规则,实现服务快速接入和下线,降低了开发工作量和对业务代码的侵入。未来计划扩展更多规则库和增加数据统计功能。

AB测试中的痛点

新功能上线,产品要求按照规则进行AB测试,但是规则随着业务的推进不断变化(上线前也无法完全确定)。例如:第一天要求产品价格>100的走A场景,第二天要求:在上午10到下午18之前的走B场景,第三天要求产品编码为(1001,1002,1003)的走A场景… 传统方案:修改规则后发版,这就导致开发工作量增加,频繁上线,时效性也很差。 在这种情况下GrayScale 应运而生…

介绍

com-grayscale-annotation  (注解模块,快速下线是使用)
com-grayscale-client  (客户端demo 依赖 com-grayscale-annotation )
com-grayscale-core     (核心模块依赖 com-grayscale-annotation )
com-grayscale-dashboard (控制台,服务查看,规则配置)

GrayScale是一套轻量、高可用、配置友好的灰度程序管理器,内置20多个常用规则,用户可以按照业务场景快速开发自己的规则,离线模式满足高并发场景的需求。在实际业务场景中针对AB测试,开发一个B方法。并使用GrayScale的注解为A方法指定切量方法B,GrayScale会更具用户自定义的规则来选择执行A方法还是B方法 ,目前,GrayScale定义了3个维度的规则,服务全局开关、方法开关、方法规则 。
在这里插入图片描述

功能架构

在这里插入图片描述

  • 提供标准规则库,用户可按照需求扩展
  • 提供Dashboard,查看服务和规则、动态配置规则,自动同步到在线节点
  • 高可用支持:规则本地持久化,规则变更后通过zookeeper监听机制动态刷新本地缓存,支持开启离线模式(直接本地获取规则不连接zk)
  • 使用简单,快速接入,代码O侵入(只需一个注解+一个配置),支持更换jar包快速下线,无需修改业务代码

技术架构

在这里插入图片描述

如何接入?

第一步:准备zk集群

搭建好zk集群,GrayScale在zk集群中使用的根目录为 grayscale,接入请确保该目录没有被占用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值