首先谈下这句话的背景。
最近一个项目涉及到四五个子系统,准确地说三个业务子系统,一个im系统,一个oss系统,因为分到不同的team,所以负责人就要求每个子系统都是独立的,完全独立的,可以不依赖任何子系统而独立运行。
从组织协调角度,我认为这种模式挺好的,至少减少了沟通的成本。但是我有几点建议
一、开发语言尽量统一,否则维护就是个大问题,部署也带来很多麻烦。
二、用户要中心化,既然有oss了,就统一放到oss上,或者oss集中在im中,每个子系统只维护一个oss用户的唯一标识。然后再维护在本系统中的用户属性。这个是我们争论问题的所在。我认为子系统多了,自然同步问题就多了,工作量也大了,故障点自然就多了,尽管开发上不扯皮,有问题的扯皮风险自然增加。oss是我们的认证服务器,子系统处理登录的意义有多大?因为有些问题不能解决,现在已经把资金接口统一处理了(我早就建议过),去中心化已经很难了。而且我理解的去中心化是业务去中心化,而不只是部署环节去中心化。统一任务中心、信息中心还是有必要的。
我最近看微服务,一度想采用微服务来重构现有系统,但是这种为了迎合新技术和新架构的方式后来考虑是不可取的。软件的架构要简单,易于理解,不论从开发还是维护都是最经济的方案。另外,注解有那么好吗?一定的配置文件更易于理解,多用那么点时间带来的好处是持久的。
网友评论