SaaS软件架构设计系列 | 3-1 增量挑战

115 阅读2分钟

增量挑战

虚拟背景

随着系统的上线,已经收获了一部分客户的持续使用,当前系统客户数处于快速增长期。随着部分客户深入使用系统,他们将相关的业务全部迁移到了SaaS系统中,单个租户的数据和请求都比较大,我们姑且叫他们为“大租户”。有的大租户的体量可能是小租户的十几倍甚至几十倍。

在部分场景中,大租户可能会产生大量的数据和消息(比如举行大的促销活动、数据刷新等),在系统访问、消息消费、任务调度等场景,大租户都可能占用大量资源,导致其他租户受到影响,严重的时候可能导致整个系统不可用。因此需要针对租户级别调整运行时的能力,保障系统相对稳定运行。

随着大租户的增加,针对同一场景,部分租户可能提出不同的需求,而SaaS只有一套代码,因此需要使用技术手段来满足不同客户的个性化需求。对于简单的逻辑或交互差异,可以使用特性开关来处理,对于复杂的界面和业务流程差异,可能需要使用低代码的方式来满足。

随着系统规模的扩大,研发团队也随之扩大,由之前的一个敏捷团队扩大为三~四个相对独立的敏捷团队,团队协作上也面临了新的挑战。因此需要建立相关的开发协作流程,优化相关的工具。

接下来我们将针对这些挑战来逐一讨论相关的解决方案。