咖啡加糖_ 2025-07-10 11:30 采纳率: 57.1%
浏览 5

SpringCloud微服务共性接口问题

请教各位一个问题: 项目使用的是微服务架构,现在准备做一个小程序以及后端管理,小程序后台和管理的后台是分开的,评估后发现业务接口重合度比较高,很多接口都是公用的,现在有两个方案: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/路径来访问,避免了服务层的重复实现。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月10日