内 SAAS ,尤其 CRM Saas和 HR Saas,在寻求稳定的续费和巨大的销售订单过程,会针对大型企业(千人以上)开发对应的 PAAS 或 APaas 平台或定制化开发,如何在企业级软件上云之后,SAAS 各个业务线研发团队协调,迭代,向客户交付稳定或者个性化的产品,通常会设计一套灵活,通用,功能强大的灰度机制。

举个例子,通常 SAAS 软件中的用户属于一个租户(EnterpriseAccount)下的账户(UserId),那么如何最终实现千企千户的灰度控制,我基于过往从业经历,参考国内 CRM 服务商​​纷享销客​​​, 基于  JavaScript 实现了一个 ​​z-gray-release​​ 模块,可实现企业,用户,放量性的控制



配置 



说明 



规则



white:zwork 



只有zwork企业的⼈可以访问 



开放单个企业



white:zwork|fktest|zworktest 



只有zwork/fktest/zworktest企业可以访问 



开放多个企业



white:zwork.1,3,5 



只有zwork.1,zwork.3,zwork.5这三个⼈可以访问 



开放部分员⼯



white:zwork.1-100 



只有zwork.1-100前100号员⼯可以访问 



开放ID区间



white:zwork.%7 



zwork企业员⼯ id%7==0 才可以访问,⽐如zwork.7,zwork.14 



百分⽐



white:%3 



任何企业id%3 == 0 就可以访问(如果企业id⾮数字,则为 id.hashcode%3 == 0) 



放量33%



white:*.%4 



任何企业,员⼯id%4 == 0 就可以访问 



员⼯id百分⽐



white:%3.%4 



任何企业id%3 == 0并且员⼯id%4 == 0 就可以访问 



企业及员⼯id百分⽐



allow 



任何企业都可以访问, 和 white:* ⼀样 



放全量



deny 



任何企业都不能访问, 和 black:* ⼀样 



关闭灰度