【问题标题】:Communication between Microservices: Spring cloud OpenFeign vs WebClient/RestTemplate微服务之间的通信:Spring cloud OpenFeign vs WebClient/RestTemplate
【发布时间】:2020-11-29 18:03:17
【问题描述】:

请您了解用于背靠背通信的最佳方式吗?

spring cloud OpenFeign 还是 WebClient/RestTemplate

我觉得Feign客户端应该在spring cloud gateway需要的时候使用

与其他微服务通信,而 WebClient/RestTemplate 应该用于背靠背通信。

我错了吗?

【问题讨论】:

  • Feign 是声明式的,其他的都是命令式的。如果您想共享客户端,Feign 很有用
  • @spencergibb okey,那微服务之间的通信呢,有什么区别吗?
  • RestTemplate 现已弃用。当您使用 Ribbon 负载均衡器分发任何传入呼叫时,然后轻松地使用带有 feignclient 和 Ribbonclient 注释的 Ribbon 负载均衡器的 feign 客户端。
  • 它们都支持功能区。

标签: spring-cloud resttemplate spring-webclient openfeign


【解决方案1】:

WebClient(RestTemplate - 已弃用以支持 WebClient)

  • 支持响应式调用

  • 底层 HTTP 客户端库,例如 Reactor Netty

  • Part of spring framework - WebFlux || Doc will give you more

  • 有 2 种风格 - 注释和功能方式

    我个人发现它在使用 OAuth2 创建 bean webClient 时非常有用,在调用之前需要使用令牌进行身份验证,ServerOAuth2AuthorizedClientExchangeFilterFunction 只需一次配置即可简化每次调用

OpenFeign

【讨论】:

    猜你喜欢
    • 2018-01-22
    • 2018-07-19
    • 2018-03-17
    • 2016-06-10
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2015-10-05
    • 2018-02-14
    相关资源
    最近更新 更多