SAAS应用灰度设计

299 阅读1分钟

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

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

配置

说明

规则

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

关闭灰度