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