【问题标题】:Migrating declarative REST client to Kuberentes config将声明式 REST 客户端迁移到 Kubernetes 配置
【发布时间】:2020-07-23 02:19:59
【问题描述】:

我必须将 spring-cloud 项目迁移到 Kubernetes 部署。这意味着删除网关、配置服务器、发现服务器等的依赖项。但是,我想保留的一部分是 spring-cloud open feign 提供的声明式 REST 客户端,这样我就可以避免编写用于服务间通信的客户端实现。

我想出的解决方案是这样的:

@FeignClient(name = "useless", url = "http://${product.service.url:localhost:3333}")
public interface ProductApiFeign extends ProductApi {}

product.service.url 是 Kubernetes 服务名称和端口,而 name 只是一个任意字符串值,因为验证不会让我运行程序。 ProductApi 是一个带有特定注释的 Swagger 生成的接口。

我部署了它,它按预期工作。

问题是:有没有更好的方法来实现基于注释接口的声明式 REST 客户端,而不必包含 spring-cloud 依赖项?我必须包含名称值这一事实是否会对我产生任何负面影响?欢迎提出任何建议。

【问题讨论】:

    标签: java spring spring-cloud spring-cloud-feign


    【解决方案1】:

    OpenFeign 可以在没有 spring cloud 的情况下工作,但 @FeignClient 和对 Spring 注解(@RequestMapping@GetMapping 等)的支持仅由 spring-cloud-openfeign 提供。

    【讨论】:

      猜你喜欢
      • 2018-07-18
      • 2019-08-25
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多