最近跟朋友在沟通,问我私下作的开发平台支不支持拆分成多个微服务,让可以支持水平扩展.
我回去细想了一下,确实,现在做项目,如果不搞成多个微服务,都不好意思说,我是搞IT的....说做就做,将自己的项目拆成多个微服务....拆分目标:
支持ALL in One, 即还是可以单体应用部署,这样在小企业可以快速实施,因为小企业对性能要求不高
支持多个应用服务,各服务的相互独立,服务之间的通讯使用dubbo,这样降低耦合,可以快速持水平扩展...,各个服务如有需要,从该服务中取该功能配置的数据
该数据过滤的功能请参考文章通用数据级别权限的框架设计与实现
附件上传
其实附件上传我一直很犹豫,是做为系统组件,还是微服务.理论上,附件承载了各个应用的业务附件数据...但定时任务的触发,我考虑了很久,让各个系统自己定时触发,还是做成一个微服务,如果做成一个微服务,触及到定时任务调用多个微服务,如何去寻找对应的服务呢.