Retrofit和OkHttp适用于Java EE/服务器端使用吗?

7
我喜欢 Square 公司的 RetrofitOkHttp rest/http 库的 API。 我正在评估编写服务器端 rest 客户端的选项。 对于我的基于 SOAP 的 Web 服务的每个请求,我都必须使用另一个 restful Web 服务,因此我需要一个 rest 客户端。
我的问题是,Retrofit 和 OkHttp 是否适合在高并发 Web 应用程序中用于服务器端使用,或者是否存在已知或其他问题,这些 API 主要是为服务器端之外的使用而设计的?
阅读文档并查看代码,没有什么特别明显的迹象表明这些库不适合使用。但我也不想成为试验品。有人在高负载/并发的服务器端使用时遇到过任何问题吗?取得了成功吗?那些库的开发团队中有人愿意发表评论吗?;)
3个回答

13

我们在Square Cash服务器上使用OkHttp,而且没有出现问题。


2

1
在微服务架构世界中(使用Spring Framework),Retrofit/Okhttp可能不适合作为面向服务间通信的REST客户端。相比使用Retrofit,使用WebClient/RestTemplate至少具有以下优点:
  1. RestTemplate/WebClient可以轻松配置以利用客户端负载均衡(Ribbon),从而请求可以在各个实例或另一个微服务之间轮换。
  2. Hystrix可以轻松配置与RestTemplate一起使用,从而提高整个系统对于服务间通信的容错性(断路器模式)。
  3. 使用Eureka或Consul可以轻松配置服务发现,因此客户端无需知道目标Web服务的主机/端口/协议。我们只需要启用发现客户端即可。

或者,您也可以尝试使用Feign,它是类似于Retrofit的声明式Web服务客户端,但具有RestTemplate的所有优点。

您还可以查看以下文章:

https://www.javacodemonk.com/retrofit-vs-feignclient-on-server-side-with-spring-cloud-d7f199c4


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接