多租户 saas 企业web应用如何维护两套版本,一套的稳定版本给大多数用户,一套是最新版本给喜欢尝新用户

qiulang
  • 3
新手上路,请多包涵

我们目前有一套多租户的saas企业应用,已经有不少客户(租户)。所有客户统一使用最新版本,但来做市场压力,要求我们改成同时维护两个版本,最新版和稳定版。理由是不是每个客户都愿意使用最新版。但是提出了一个在技术上实现的难点:客户每次升级时候对版本要求是不一样,可能这次升级他想用最新版,下次再升级不想用最新版了,想要用稳定版。所以不能把简单接入服务器的转发规则写死了,比如 nginx做反向代理的时候不能写死规则哪个域名转到哪个服务器, 因为每次版本发布都可能变。

我查了很多资料也没看有关于这类问题讨论。

回复
阅读 1.3k
2 个回答

这个是不是可以参考现在大部分已经成熟的系统升级方案呢?

比如windows,有稳定版和预览者计划,这是提供给用户的一个开关。如果我加入预览者计划,每次更新都是最新版,如果我下次不想用最新版了,我就退出预览者计划,这样系统会在更新到下一个稳定版的时候,不再更新最新版本,以后每次更新都是稳定版。

用户可以任意在两个模式中切换。

这实现起来难度很大,最新版和稳定版之间的差异不仅仅只有界面和功能这么简单,往往你功能迭代过程中,即使是同一套业务,也可能会出现数据表字段的增减、数据表的增减,甚至是数据表的拆分。你的业务是通的,你的数据肯定也是同一份的,当你背后的数据库结构发生变化后,你的数据库必然是跟着你的最新版业务逻辑走的,你的稳定版后端逻辑就需要对新的数据库结构做兼容,稳定版和最新版差距越大,你的兼容工作量就越大,这时候你的稳定版可能就不稳定了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏