需要多城市部署的系统,如何设计架构

是这样的,我们公司的项目被部署在多个不同城市,每个城市的服务和数据库目前是独立运营维护的,且每个城市还会有自己定制化的功能。这些项目大部分功能和DB结构都是一样的,只有少部分定制化功能会造成代码和DB上的差异,项目目前是JAVA开发的。我的问题是,如果需要上一个新的基础功能或大版本升级,每个城市的代码都要做一遍迭代升级,或者,有时一个城市的定制化功能后期还会部署到其他城市,这样一来,就会造成很多冗余的开发工作和版本上的冲突,请问大家,有没有什么好的架构设计,可以做到用最低的开发部署代价实现最高效的业务上线,谢谢!

符合所有功能逻辑的类单独抽出来,让每个城市的逻辑去继承这个公共的类,有不一样的需求就自己重写这个方法,这样有公共需求的可以直接修改父类即可,但是具体问题具体分析,我这边也是提供一个思路,具体的需要结合你的实际情况