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

微服务中,FeignClient 到底是该调用方来写还是服务提供方来写?

  •  1
     
  •   InkAndBanner · 2020-03-14 10:04:32 +08:00 · 3198 次点击
    这是一个创建于 1706 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微服务项目中 A 项目要调用 B 项目 , A 项目中通过 FeignClient 来调用 B 中的 Controller,从而实现调用他的 service 不是很正常的事情吗,也可以让 B 服务无感知 , 但是今天主程就非让我写在服务提供方(也就是被调方的项目中), 我就觉得离谱 ,我跟他说了我的想法,他用大家都是这么写的把我敷衍了.....

    12 条回复    2020-12-29 12:05:03 +08:00
    kannbala
        1
    kannbala  
       2020-03-14 10:06:17 +08:00 via iPhone
    主程说的是对的
    InkAndBanner
        2
    InkAndBanner  
    OP
       2020-03-14 10:12:48 +08:00   ❤️ 1
    @kannbala 但是按理说我调用你的服务 我应该让你无感知才对啊 应该我来写吧
    kannbala
        3
    kannbala  
       2020-03-14 10:20:58 +08:00 via iPhone
    正确的姿势是服务提供方提供 Facade 接口,调用方引入 Facade 依赖进行调用
    jeffh
        4
    jeffh  
       2020-03-14 10:47:41 +08:00 via Android
    内部系统调用,服务端是应该提供调用的 api 包,楼上说的没错,主程说的也没错
    renha0
        5
    renha0  
       2020-03-14 10:52:01 +08:00
    4 楼说的没毛病。再服务池中把各个服务的 api 通过 feignClient 暴露出来,互相调用时都无感知。
    cnbattle
        6
    cnbattle  
       2020-03-14 11:25:35 +08:00 via Android
    服务方啊,写一遍所有调用方都可以直接用了,你想让所有调用方全写一遍吗😳
    InkAndBanner
        7
    InkAndBanner  
    OP
       2020-03-14 11:46:15 +08:00
    又长知识了哈哈哈
    sunziren
        8
    sunziren  
       2020-03-14 12:25:29 +08:00
    @cnbattle 奥,这个理由我满意。
    endlessJ219
        9
    endlessJ219  
       2020-03-14 15:45:01 +08:00
    采用 Facade+引入依赖的方式,感觉不利于最小化微服务间的依赖啊
    ak78
        10
    ak78  
       2020-03-14 15:56:57 +08:00
    服务提供方单独提供 FeignClient 的 api 包,调用方引用 FeignClient 对应的 jar 包直接使用
    yisheyuanzhang
        11
    yisheyuanzhang  
       2020-12-29 11:54:15 +08:00
    请教一下楼主最终确定的什么方案, 最近也在纠结这个问题。 看到网上开源项目中两种方式有有(服务方提供 api 模块 or 消费方直接写 feign+fallback )
    yisheyuanzhang
        12
    yisheyuanzhang  
       2020-12-29 12:05:03 +08:00
    《微服务设计》中,是说服务消费方要自己定义熔断的处理逻辑。 但是感觉这样写的人比较少
    ![图片]( https://s3.ax1x.com/2020/12/29/rH3I0J.png)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3670 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:29 · PVG 12:29 · LAX 20:29 · JFK 23:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.