我的这个项目本来就是个总公司写的,但是现在分公司也需要使用这个系统等于说需要一个系统的情况下去服务两个公司我现在有3个方案但是我对于方案的实现有点迷茫来询问一下
方案一:使用同一个数据库,对系统进行权限控制让不同公司的人看不见其他公司的数据
方案二:使用两个数据结构一样的数据库,名字不一样。也就是说采用动态数据源的形式。我说一下我的系统结构我使用的springboot+vue技术没有分布式什么的其他技术,我系统由于需要抓取其他数据库的数据所以是有配置多个数据库比如命名是a,b,c,d 但是这些数据库使用的查询方法也不一样。我采用的是哪个serviceimpl用到了数据库是直接进行注入@Autowired 什么什么mapper 在使用的时候就mapper.方法名就可以进行使用了,但是我要是在加一个e分公司数据库我该如何在总公司a和e中进行不断的切换呢?
方案三:我想可以让前端访问后端的时候先访问一个控制的项目吗,我项目的结构是main-java-项目,有这样一种可能我创建一个控制项目前端访问到控制项目里,让控制项目去选择是用项目名总公司还是项目名分公司。如果可以我需要用到什么技术呢我去学习一下
简而言之就是将当前项目改造成saas即可
1.不可以将这个系统复制一份给分公司用吗?这样分开管理也方便,如果出问题了也不会互相影响
2.在上一步基础上,还可以做一个前端登录控制,对不同的登录账号,导向不同的系统页面,这样虽然是两套系统,但用户感受来就是一套