请教各位一个问题: 项目使用的是微服务架构,现在准备做一个小程序以及后端管理,小程序后台和管理的后台是分开的,评估后发现业务接口重合度比较高,很多接口都是公用的,现在有两个方案:1、把service层以及dao层放在小程序或后台管理的后端服务模块,另外一个模块直接fegin远程调用 2、把service以及dao打成公共包 两边都引入 请教下各位哪种更好些,或者是否有更好的方案?[抱拳]
7条回答 默认 最新
阿里嘎多学长 2025-07-10 11:30关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
解答
你遇到的问题是微服务架构中共性接口的问题。由于小程序和管理后台的后台是分开的,导致业务接口重合度比较高。有两个方案来解决这个问题:1、把service层合并到一个服务中;2、使用API Gateway来处理共性接口。
我建议选择第二个方案。使用API Gateway可以将共性接口集中管理,避免了服务层的重复实现。同时,API Gateway也可以提供一些额外的功能,如认证、授权、缓存等。
在Spring Cloud中,可以使用Spring Cloud Gateway作为API Gateway。Spring Cloud Gateway提供了一个简单的API来处理请求和响应,可以将共性接口集中管理。
例如,可以创建一个名为
common-api的服务,用于提供共性接口,然后使用Spring Cloud Gateway来路由请求到common-api服务中。spring: cloud: gateway: routes: - id: common-api uri: lb://common-api predicates: - Path=/common/**这样,所有共性接口都可以通过
/common/路径来访问,避免了服务层的重复实现。解决 无用评论 打赏 举报