问题标签 [rsocket]

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.

0 投票
1 回答
87 浏览

java - 有没有办法在 Spring RSocket 中查看 REQUEST_N 交换

我正在使用 Spring 对 RSocket 的支持,特别是请求流模型。IE:

如果我正确理解 RSocket,Flux 响应将作为 request(n) 约定下的一系列有效负载消息传递回客户端。例如,一次有 n 条有效载荷消息。在每一系列消息之后,客户端使用 REQUEST_N 消息向服务器发送一个附加集,这为背压缓解提供了基础。

在java库的API(org.springframework.messaging.rsocket,它基于io.rsocket.RSocket)中,有没有办法在REQUEST_N消息到达时处理/访问它们,或者显式设置N的值通过策略(并查看请求者传递给服务器的值)?

原因/原因:我正在 Kafka 上实现一个 rsocket 外观,并尝试为订阅提供一个请求流机制,该机制将在消息被消费时支持自动偏移提交。对于请求流约定,我认为请求者偶尔的 REQUEST_N 交互是可以推进主题提交偏移量的理想点,因为它由请求者传输意味着响应者发送的前面的 Payload 消息已经已收到。

我见过的唯一其他选择是使用请求通道模型,以便请求者可以发送和初始订阅请求,并开始接收数据,还可以发送周期消息来专门控制同一通道上的提交偏移量。无论如何,我正在考虑提供它,但想知道是否有办法将逻辑注入到流的周期性请求(n)周期中。

0 投票
0 回答
151 浏览

rsocket - RSocket-JS + RSocketResumableTransport 不工作

RSocketResumableTransport 似乎不起作用。我有以下代码,我正在使用 RSocketResumableTransport 但它从不连接到服务器(spring-boot 版本 2.4.0-M1)。我正在使用 rsocket-websocket-client": "0.0.19" 版本。下面是用于连接的类:

浏览器控制台中的连续错误如下。此错误不断重复,直到超时:

如果我做错了什么,请告诉我?

0 投票
1 回答
1175 浏览

java - Spring Boot 反应式 Redis 连接

我是 redis 反应式实现的新手。我正在尝试在 localhost:6379 (默认位置)上设置一个使用 redis 的后端。现在文档说“如果要连接到 localhost:6379 的 Redis 服务器,我们不需要添加任何配置代码。”

所以我像往常一样启动了我的redis:

在此处输入图像描述

做了一个简单的post请求

到这个控制器

一切都很顺利,日志甚至指出哈希已经创建。但是,当我执行 redis-cli 并检查任何键时,什么都没有。

在此处输入图像描述

我也尝试使用 LettuceConnectionFactory 进行连接

然而没有运气,我猜弹簧靴以某种方式连接到嵌入式redis,这不是我想要的,那么我如何连接到redis实例?

编辑

这是消息 repo 和服务 repo 返回一个 MonoIgnorePublisher,在文档中,Mono 要么返回一个元素,要么返回一个错误,这是一个错误吗?:

回购:

服务:

这是 ReactiveRedisOperation 配置:

0 投票
1 回答
554 浏览

spring-webflux - RSocket + webflux 请求-响应弹性

给定以下代码(使用 Spring Webflux 和 RSocket):

问题是:

  1. 当服务器负载很重时,客户端是否只是将请求发送到服务器并且服务器会缓冲该请求?或者实际上是否有某种机制让客户端等到服务器向客户端发送信号?

  2. 如果客户端仍然发送请求,那么在某些时候服务器将内存不足来缓冲所有多余的请求。我们一般是怎么处理的?netifi 经纪人可以在这种情况下提供帮助吗?(假设它是突发流量,我们无法及时扩展或扩展服务器)

0 投票
0 回答
99 浏览

spring-webflux - 如何在 Spring Webflux / RSocket 中负载平衡通道

假设我们有服务 A 和服务 B。服务 A 需要向服务 B 发送无限量的数据。在 spring webflux 或 rsocket 中,我们可以通过让服务 A 发送通量和接收通量来实现。

问题出在我们有 1 个服务 A 和 10 个服务 B 时。服务 A 将选择服务 B 中的一个并将数据无限期地流式传输到该特定服务,这会使只有 1 个服务忙碌而其他服务空闲。

有没有办法从服务 A 流式传输数据并将数据流分成 10 个服务 B?像netifi这样的rsocket代理可以做到吗?

0 投票
1 回答
44 浏览

rsocket - RSocket- 在请求-响应语义上公开服务方法

我试图通过 RSocket 实现中的 requestResponse 范式公开我所有的后端服务调用(所有返回对调用客户端的响应)。为此,我必须使用 RPC 或反射。我不想走 rsocket-RPC 的路线。反射大大降低了吞吐量。如果您对此要求有任何解决方案或建议,请告诉我。

0 投票
1 回答
93 浏览

spring-boot - RSocket 连接可以持续多长时间?

我知道 RSocket 连接是双向的。在连接终止之前,客户端可以通过 RSocket 连接到服务器多长时间?

如果连接确实终止了,如果服务器想向客户端发送一些东西,它如何重新连接?

0 投票
0 回答
59 浏览

java - RSocket 在 500 条消息后未发送

使用从带有 RSocket 的 Spring Initializr 下载的新项目,我在尝试异步发送即发即弃消息时遇到问题。我可以发送和接收低于 500 条的任意数量的消息,但是一旦我尝试发送第 500 条或之后的任何消息,就不会收到它们。从日志来看,这似乎与 Netty 在连接池中的最大 500 个连接有关,但是,一旦发送消息,RSocket 不应该将这些连接返回给 Netty 吗?尤其是在使用的时候retrieveMono(Void.class)

0 投票
1 回答
275 浏览

spring-boot - 如何在spring boot(使用netty服务器)中启用websocket消息压缩deflate(使用rsocket协议)

我想使用 websocket 和 rsocket 在 netty 环境中的服务器端启用 permessage-deflate 压缩。我现在的握手是这样的:

在此处输入图像描述

我正在使用依赖项:

spring boot 中是否有任何属性支持此功能?

0 投票
0 回答
76 浏览

java - RSocket 测试在一起运行时失败 - 但单独通过

我有多个测试来测试不同的路由和单独的类,这些测试需要设置 RSocket 客户端然后处置客户端,下面是一个示例。

但是问题是,它们都使用相同的 RSocket 端口,并且一旦测试完成,它们都会处理 RSocket 客户端,这会影响其他测试。我怎样才能避免这种情况?

谢谢!