【发布时间】:2018-02-10 14:52:28
【问题描述】:
EurekaServer:注册/公开服务
EurekaClients:提供服务
FeignClients:消费服务并提供API
我正在使用 Feign 进行服务消费。不知feign接口(注解@FeignClient的接口)应该放在EurekaClients还是FeignClients?
- 如果在 EurekaClients 中放入 Feign 接口。
GOOD:我只需要编写一份 Feign 接口,并在 EurekaClients 中实现。对于任何需要使用该服务的 FeignClients,从 EurekaClients 中导入这些接口即可。
不好:可以轻松设置模块依赖关系,但很难做到mvn package 或使用 docker 进行生产。正如我所说的问题HERE。
- 如果把 Feign 接口放在 FeignClients 中(我在网上能找到的几乎每个例子都是这样的)。
好:易于构建。
不好:很多重复的代码。因为对于每个 FeignClient,我都需要重新编写 @FeignClient 带注释的接口。如果嵌套的 FeighClients 和 EurekaClients 很多,维护起来就太难了。
那么对于我应该在哪里放置 Feigh 接口 的良好实践有什么建议?
【问题讨论】:
标签: java spring-boot spring-cloud spring-cloud-netflix netflix-feign