问题标签 [reactor-netty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-cloud-netflix - 在 Spring 5 WebClient 上设置请求特定读取超时的正确方法
语境
我正在尝试找到结合 Spring 5WebClient
和Hystrix
. 使用 Hystrix,我为WebClient
.
当Hystrix
达到超时时,我还想确保WebClient
关闭它的连接。以前使用 时AsyncHttpClient
,这是通过requestTimeout
在执行特定调用之前设置 a 来完成的。但是,设置请求超时WebClient
要复杂得多,需要ClientHttpConnector
根据这个答案来完成。
Brian Cozel 提到ClientHttpConnector
在整个应用程序中共享相同的内容是最佳的。但是,由于需要在 上设置请求特定的超时ClientHttpConnector
,这似乎是不可能的。
问题
在 Spring 的 ReactiveWebClient
中,是否有适当的方法来设置特定于请求的超时,但仍使用单个ClientHttpConnector
?
spring-boot - 使用 Springboot 2.0.3-RELEASE 版本过早关闭连接
在调用下游 RESTful 服务时,我们看到太多“连接过早关闭并由对等方重置”错误,即使在将 Springboot 版本升级到最新版本之后,正如少数专家所建议的那样。
我们试图重现它,但无法在 dev 中重现。它发生在负载测试和应用程序负载过多时。
堆栈跟踪:
任何帮助和建议表示赞赏,在此先感谢。
java - 使用 reactor netty 为 spring-webflux WebClient 配置 HostnameVerifier
我正在尝试使用 ssl 和客户端主机名验证配置 spring-webflux WebClient(在引擎盖下使用反应器网络)。我提供了 javax.net.ssl.SSLContext、HostnameVerifier 和受信任主机名列表(作为字符串列表)。
到目前为止,我已经使用 SSLContext 配置了 WebClient,但我找不到配置主机名验证的方法。
陈述我的问题:我有一组受信任的服务主机名(字符串列表)和一个 HostnameVerifier。我想用它配置我的 WebClient。
有没有可能用 javax.net.ssl.HostnameVerifier 做到这一点?反应堆网络中有替代方法吗?
这是我到目前为止所得到的:
java - Flux 完成时获取 Flux 大小
我有点被一个琐碎的任务困住了:每当我使用响应式 spring WebClient 查询外部 API 或查询响应式 MongoDBRepository 时,我想记录有多少实体通过了我的通量,例如。记录消息,如“在数据库中找到 n 条记录。”。例如:
TLDR:完成后如何获得通量大小(也许是它的内容)?
spring - Spring 5 Webclient 的默认超时
我只是想确认为 Spring 5 设置的默认超时WebClient
,它使用ReactorClientHttpConnector
.
从我到目前为止的挖掘来看,似乎:
- 连接超时设置为 30 秒 (
io.netty.channel.DefaultChannelConfig.DEFAULT_CONNECT_TIMEOUT
) - 默认情况下,似乎没有设置读取超时。
这个对吗?我有点惊讶这不是可以通过快速谷歌或扫描文档找到的东西(除非我错过了一些东西)。
spring-webflux - Spring Reactor WebClient 是如何实现非阻塞的?
基本问题:与 RestTemplate 相比,Spring Reactors WebClient 如何实现非阻塞?在将请求发送到外部服务(例如)之后,它是否不必阻塞某处?HTTP本质上是同步的,对吗?所以调用应用程序必须等待响应?线程如何知道上下文以对服务的响应做出反应?
spring - WebClient 在请求写入完成之前不会读取响应。
我正在尝试实现流代理。我从 spring 反应中遇到了 WebClient 的问题。
任何人都可以帮助我理解我是不是有些错误的方式,或者这只是 WebClient 方面的错误?
堆:
反应堆-netty 0.7.8.RELEASE
spring-boot 2.0.4.RELEASE
描述:
我想将一个长流代理到外部服务,然后将响应流转发给请求者。使用块(HTTP 1.1 Transfer-Encoding : chunked)进行流式传输。外部服务处理每个块并发送到响应结果。
预期行为:
WebClient 应该立即读取每个收到的响应部分。
实际行为:
WebClient 在请求写入完成之前不会开始处理响应。
代码:
java - 如何限制 spring-webflux WebClient 中打开的套接字数量?
我有一些 RESTful 服务,我想用 Reactor 和 Spring WebClient 准备简单的性能基准测试。Benchmark 简单地创建 N 个用户,然后为每个创建的用户发布 M 票。
不幸的是,以下代码超出了我的 linux 机器中的最大打开文件限制,即 1024 ( ulimit -n 1024
)。
RestService 使用 Spring Webflux 的标准 WebClient 实现。
有没有办法根据系统限制限制创建的套接字数量?
堆栈跟踪:
spring-boot - WebClient 如何刷新部分接收到的数据?
我想实现接收到的内容的部分刷新。例如,我有处理程序:
收到一定数量的数据缓冲区时如何强制刷新?
http - 如何在 Reactor Netty 客户端中使用简单的 HTTP 代理?
我正在尝试使用一个简单的 HTTP 代理在外部缓存响应。我尝试了以下代码段:
...但结果是客户端从一个CONNECT
命令开始,创建一个 TCP 隧道。当我使用 时curl
,我会执行以下操作:
...它只是向代理发出一个常规的 HTTP 请求。
我的问题:如何使用 Raector-Netty 向CONNECT
代理发出常规(非基于)请求?