微服务业务网站和管理后台是否应该放在同一个服务体系内

gzg25895381 2018-10-30 05:40:25
问题描述
1.公司有一套对外的业务系统,其中有订单,支付,问答、充值(可以看做是A,B,C,D)等业务模块(各模块有自己独立的数据库等);
2.公司内部有一套管理后台需要对各个模块的数据进行调用和处理;
现在准备使用Spring Cloud框架对现有系统进行改造,业务拆分等;

问题——对外的业务系统和公司内部自己使用的管理后台是否应该放到同一套服务体系内


放到同一体系内,各个工程可以复用会减少很多代码量,但是由于对外的业务系统和内部管理后台使用两套用户体系,这块不知道放到一起是否能够实现,以及对外接口暴露问题;
如果不放到一起,相当于每个业务都要做两个工程。会增加服务的数量和开发的工作量



疑惑如上,请有相关经验的朋友指点迷津
...全文
767 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
观鱼塘主 2018-11-01
  • 打赏
  • 举报
回复 1
既然要做拆分,那么为何还要纠结将两者放到一个服务体系里面去?
类似订单,支付,问答、充值等可以模块化出来的功能可以独立抽成一个微服务,把后台管理的那一套服务接口也做到微服务里面去。这样你们公司就只有一个订单服务了,不区分对内还是对外。真的要区分,那就从接口权限上去花心思。
用户,权限这些都可以抽成一个独立的微服务,不区分对内对外。

Guns基于Spring Boot2,致力于做更简洁的后台管理系统。包含系统管理,代码生成,多数据库适配,SSO单点登录,工作流,短信,邮件发送,OAuth2登录,任务调度,持续集成,docker部署等功。支持Spring Cloud Alibaba微服务。社区活跃,版本迭代快,加群免费技术支持。 Guns后台管理系统特点: 1、基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。 2、完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,通过@BussinessLog注解和LogObjectHolder.me().set()方法,业务操作日志可具体记录哪个用户,执行了哪些业务,修改了哪些数据,并且日志记录为异步执行,详情请见@BussinessLog注解和LogObjectHolder,LogManager,LogAop类。 3、利用beetl模板引擎对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。 4、对常用js插件进行二次封装,使js代码变得简洁,更加易维护。 5、controller层采用map + warpper方式的返回结果,返回给前端更为灵活的数据,具体参见com.stylefeng.guns.modular.system.warpper包中具体类。 6、防止XSS攻击,通过XssFilter类对所有的输入的非法字符串进行过滤以及替换。 7、简单可用的代码生成体系,通过SimpleTemplateEngine可生成带有主页跳转和增删改查的通用控制器、html页面以及相关的js,还可以生成Service和Dao,并且这些生成项都为可选的,通过ContextConfig下的一些列xxxSwitch开关,可灵活控制生成模板代码,让您把时间放在真正的业务上。 8、控制器层统一的异常拦截机制,利用@ControllerAdvice统一对异常拦截,具体见com.stylefeng.guns.core.aop.GlobalExceptionHandler类。 9、页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。 10、在线系统参数配置,灵活控制常用功能的开关,无需重启项目即可生效,实时刷新。 在线测试账号密码:admin/111111 Guns后台管理系统最新7.0更新内容如下: 最新Guns 7.0已全面升级,整体模块化重构,功能更加丰富,细化。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧