V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nananqujava
V2EX  ›  问与答

springcloud 服务结构问题

  •  
  •   nananqujava · 2021-11-27 21:01:59 +08:00 via Android · 1318 次点击
    这是一个创建于 1097 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想请教一个 springcloud 服务拆分的问题,我现在公司里是一个服务分成两个模块,第一个模块里有个叫 service 的工程专门写业务逻辑,还有个叫 api 的工程引用了 service 并且主要提供访问 service 的 feign 接口,第二个模块叫 web 工程,引用了前面的 api 工程。



    现在的请求方式我没完全理解为什么要这样,比如 A 服务想要请求 B 服务的数据接口,就得 A 服务 pom 里引用 B 服务的 api 工程,调用 api 工程里的 feign 接口,相当于是 Aweb 调用了自己的引用的 B api 工程的 feign 接口,这个 feign 接口又调用自己同工程的 B service 。

    web 这个模块主要是给前端调用的。



    我这个 springcloud 初学者的理解是微服务之间不是应该 feign 接口远程调用吗,到底哪种才是最佳实践呢?
    12 条回复    2021-11-30 19:30:13 +08:00
    fmumu
        1
    fmumu  
       2021-11-27 21:50:33 +08:00
    提供 feign 接口这部分应该独立出来一个包
    cccssss
        2
    cccssss  
       2021-11-27 22:03:25 +08:00
    @fmumu 我理解那个 api 工程就是独立的一个包

    web 引用 api ( feign ),api 引用 service 定义路由( RequestMapping)
    web 最终在 controller 中实现了 service 中定义的路由
    nananqujava
        3
    nananqujava  
    OP
       2021-11-27 22:05:14 +08:00 via Android
    @fmumu api 的 feign 接口部分和 service 是两个工程在一个项目里, api 引用了 service 工程
    nananqujava
        4
    nananqujava  
    OP
       2021-11-27 22:06:09 +08:00 via Android
    @cccssss 最终 web 项目是调用了 service 工程里的逻辑
    cccssss
        5
    cccssss  
       2021-11-27 22:11:49 +08:00
    @nananqujava 你确定没看反么

    我感觉正常应该是一个 service 只是定义 interface,然后一个 api 定义 feign ,web 实现真正的 controller 和 logic
    这样才合理啊
    passer9527
        6
    passer9527  
       2021-11-27 22:41:31 +08:00
    200 块,为你答疑解惑,告诉你 dau 500 万的产品的的 springcloud 架构是怎么样的。
    nananqujava
        7
    nananqujava  
    OP
       2021-11-27 23:46:11 +08:00 via Android
    @passer9527 ???
    nananqujava
        8
    nananqujava  
    OP
       2021-11-27 23:48:39 +08:00 via Android
    @cccssss 没看反,确实是我说的这样, 不过 B 项目引用 A 项目的 api 模块调用 feign 还挺方便的
    passer9527
        9
    passer9527  
       2021-11-27 23:59:39 +08:00 via iPhone
    rapperx2
        10
    rapperx2  
       2021-11-28 09:27:21 +08:00
    @passer9527 众筹 5 块,把价值 200 块的 dau 500 万的产品的的 springcloud 架构是怎么样 公布出来
    Philosophy6
        11
    Philosophy6  
       2021-11-29 09:38:44 +08:00
    蹲一个结果
    anyele
        12
    anyele  
       2021-11-30 19:30:13 +08:00
    @rapperx2 #10 众筹众筹
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3150 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:32 · PVG 22:32 · LAX 06:32 · JFK 09:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.