内 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:* ⼀样 

关闭灰度