单体应用最大的原罪就是变更的粒度太大了。而大粒度变更是稳定性的最大敌人。 切分变更有三种主要的做法: 多进程:把单体进程切分成多进程。一次只变更其中的一个。 多租户:把所有的业务数据分成租户。一次只升级一个租户的数据和代码。 多变种:分租户还是粒度太粗了,比如说挂掉一个城市也是不可接受的。那么可以在线上同时运行多个版本的代码,然后逐步的切流量。 当然更极致的做法是同时分租户,也在租户升级的时候切流量。