java中spring的web支持nio,Spring WebClient NIO功能和问题域,与Spring Webflux一起使用

我正在使用最新版本的Spring - Spring 5 .

我正在开发http客户端的WebService“聚合器”,有点像路由请求到外部WebServices,接收响应后接收响应,做一些数据操作并回复我的HTTP服务的客户端 .

为了在我的应用程序中创建http客户端,我基本上使用可用于构建Reactive App的新WebClient .

我的代码围绕以下样式:

private WebClient client = WebClient

.builder()

.clientConnector(new ReactorClientHttpConnector())

.baseUrl("http://webservice")

.build();

// Later calling like:

client.method(HttpMethod.POST) // Or GET, whatever

.uri(builder -> builder

.path("search")

.build())

.headers(defaultHeaders())

.exchange()

.block()

稍后,我在我自己的HTTP API中公开了这个调用的结果,为简单起见,我不会在这里发布 .

作为此APP的一部分,我使用Netty作为嵌入式HTTP层来为我的应用程序的客户提供服务 . (当我选择Spring Boot Starter中的 Spring Webflux 时,它也是默认的) .

我的用例不一定是Reactive Application,我不需要执行任何Streaming或back-pressure逻辑 .

但是,我的理解是使用Netty,我可以在非阻塞时尚中对外部HTTP服务做所有请求,这对我的用例很有用 .

Questions are:

1 . 关于NIO功能是否正确,我可能从中受益?

2 . 如果我正在使用Spring 5的这个WebClient接口,我会丢失一些东西,或者在我的用例中获得一些东西,因为我没有做反应性的东西?

3 . org.springframework.web.reactive.function.client.WebClient 应该满足我的要求吗?

4 . WebClient是构建功能管道的好选择吗?我问,因为我打算采取一个电话的结果,并进行后续调用,我打算使用 CompletableFutures ,我在WebClient API中看到了这个?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值