微服务项目中 A 项目要调用 B 项目 , A 项目中通过 FeignClient 来调用 B 中的 Controller,从而实现调用他的 service 不是很正常的事情吗,也可以让 B 服务无感知 , 但是今天主程就非让我写在服务提供方(也就是被调方的项目中), 我就觉得离谱 ,我跟他说了我的想法,他用大家都是这么写的把我敷衍了.....
微服务项目中 A 项目要调用 B 项目 , A 项目中通过 FeignClient 来调用 B 中的 Controller,从而实现调用他的 service 不是很正常的事情吗,也可以让 B 服务无感知 , 但是今天主程就非让我写在服务提供方(也就是被调方的项目中), 我就觉得离谱 ,我跟他说了我的想法,他用大家都是这么写的把我敷衍了.....
|
kannbalaMar 14, 2020 via iPhone
1
主程说的是对的
|
|
2
@kannbala 但是按理说我调用你的服务 我应该让你无感知才对啊 应该我来写吧
|
|
kannbalaMar 14, 2020 via iPhone
3
正确的姿势是服务提供方提供 Facade 接口,调用方引入 Facade 依赖进行调用
|
|
jeffhMar 14, 2020 via Android
4
内部系统调用,服务端是应该提供调用的 api 包,楼上说的没错,主程说的也没错
|
|
renha0Mar 14, 2020
5
4 楼说的没毛病。再服务池中把各个服务的 api 通过 feignClient 暴露出来,互相调用时都无感知。
|
|
cnbattleMar 14, 2020 via Android
6
服务方啊,写一遍所有调用方都可以直接用了,你想让所有调用方全写一遍吗😳
|
|
7
又长知识了哈哈哈
|
|
endlessJ219Mar 14, 2020
9
采用 Facade+引入依赖的方式,感觉不利于最小化微服务间的依赖啊
|
|
ak78Mar 14, 2020
10
服务提供方单独提供 FeignClient 的 api 包,调用方引用 FeignClient 对应的 jar 包直接使用
|
|
yisheyuanzhangDec 29, 2020
11
请教一下楼主最终确定的什么方案, 最近也在纠结这个问题。 看到网上开源项目中两种方式有有(服务方提供 api 模块 or 消费方直接写 feign+fallback )
|
|
yisheyuanzhangDec 29, 2020
12
《微服务设计》中,是说服务消费方要自己定义熔断的处理逻辑。 但是感觉这样写的人比较少
 |