问题标签 [spring-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.
rsocket - RSocket:RejectedResumeException(0x4):未知的恢复令牌
我在 Spring Boot (2.5.3) 中使用 rsocket 启动器。我有一个请求者和响应者设置并且它工作得很好(对于所有类型的 rsocket 通信)。问题是当我试图在请求者端实现可恢复性选项时。
这是请求者的代码
在响应者方面:
但是当响应者宕机并活着回来时,我在请求者控制台上得到以下错误:
谁能建议为什么这种行为?另外我想了解简历上的这个标记是什么?
谢谢。
spring-webflux - Spring reactor rsocket 连接限制
我正在使用 spring 集成 TCP 管理套接字客户端并尝试使用 RSocket。我的目标服务器有连接限制,所以我需要像max-connections
. RSocket 会支持这个吗?
如果不支持,我在使用rate-limit(third part lib)
吗?
spring - RSocket 负载测试显示性能不佳
我正在尝试在负载 Vs WebClient 上对 RSocket(使用 Spring)性能进行基准测试。
在单元测试中,RSocket 调用显示出更好的性能,但在负载测试中,与 http(使用 Webclient)相比,性能显着下降。
- 服务器代码:服务器
这是暴露 RSocket 端点的控制器
- 客户端代码:客户端
这是调用 RSocket 端点的客户端类。
注意:我正在使用 http 端点公开 RSocket 客户端,以便能够使用 Gatling 对它们进行负载测试。
试验结果:
1- 单次通话:
- 网络客户端 => 700 毫秒
- RSocket => 300ms
2- 200 个并发呼叫:
- 网络客户端 => 880 毫秒
- RSocket => 3_400ms
在 Webclient 调用中,我通过在请求服务器之前将 Flux 数据收集到列表中来减少对服务器的调用次数。在 RSocket 调用中,我正在流式传输所有数据,因此我正在处理并在收到它们后立即发送给客户端(=> 每个客户端请求对服务器的调用更多)。
spring-rsocket - spring rsocket 响应元数据
使用 spring-boot-starter-rsocket 时,有没有办法从带有 MessageMapping 注释的方法发送响应元数据?我也看不到 RSocketRequester 接收元数据的方法(所有 RSocketRequester.RetrieveSpec retrieveMethods 似乎都返回解码的响应有效负载数据,并且无法返回响应有效负载元数据)。
serversocket - RSocket 服务器一般可以有多少个连接?
我知道这是一个愚蠢的问题(因为它确实取决于服务器硬件),但是 RSocket 服务器(Java Spring Boot)通常可以有多少个连接?我问这个问题是因为我对 rsocket 负载均衡器很好奇。rsocket 负载均衡器似乎非常好,这让我想知道负载均衡器是否可以增加您通常能够与其他类型的套接字建立的连接数?
spring-boot - 如何将响应式拦截器添加到 Spring Boot 注释控制器?
rsocket-micrometer
我已经在客户端设置了 rsocket 指标,通过配置RSocketConnector
拦截器,像这样(Kotlin):
但在SERVER端,我使用带注释的 ( @MessageMapping
) Spring Boot RSocket 控制器,如下所示(Java):
在这里,我没有明确控制连接器。
如何在服务器端添加拦截器?
spring-boot - RSocket over websocket - reactor.core.Exceptions$ErrorCallbackNotImplemented: java.util.concurrent.CancellationException: Disposed
我使用 Spring webflux 来满足一般要求,使用 Spring RSocket over websocket 来满足服务器推送和聊天要求。
春季启动版本 - 2.5.6
应用程序.yml
RSocketConfiguration.java
RocketController.java
RSocket 的测试客户端,
服务器执行上述客户端代码时出现异常,
java - 如何在 Spring Java RSocket 中流式传输音频/视频文件
我正在运行 RSocket(Spring 项目反应器)服务器,并希望将音频/视频文件流式传输到 RSocket 客户端。这是 RSocket 控制器示例代码:
这里它显示参数不匹配文件输入流不能转换为流...
jaeger - RSocket rpc 和 Jaeger 追踪系统
每个人!我在使用 RSocket RPC 和 Jaeger 时遇到问题。我正在使用这些依赖项
客户端的 RSocket 通信调用:
沟通成功。但是,不会添加跟踪所需的元数据。Jaeger 分别在每个服务中接收 span 和 log 消息。 我得到异常(客户端):
java.lang.ClassCastException:类 io.opentracing.propagation.TextMapInjectAdapter 不能转换为类 io.opentracing.propagation.TextMap(io.opentracing.propagation.TextMapInjectAdapter 和 io.opentracing.propagation.TextMap 位于加载程序的未命名模块中 'app ') 在 io.jaegertracing.internal.propagation.B3TextMapCodec.inject(B3TextMapCodec.java:50) ~[jaeger-core-0.35.1.jar:0.35.1] 在 io.jaegertracing.internal.PropagationRegistry$ExceptionCatchingInjectorDecorator.inject( PropagationRegistry.java:75) ~[jaeger-core-0.35.1.jar:0.35.1] at io.jaegertracing.internal.JaegerTracer.inject(JaegerTracer.java:207) ~[jaeger-core-0.35.1.jar :0.35.1] 在 io.rsocket.ipc.tracing.SpanSubscriber.(SpanSubscriber.java:122) ~[rsocket-ipc-core-0.3.0.jar:na] 在 io.rsocket.ipc.tracing.Tracing。 lambda$null$0(Tracing.java:137) ~[rsocket-ipc-core-0.3.0.jar:na] 在 reactor.core.publisher.Operators$LiftFunction.lambda$liftScannable$1(Operators.java:2525) ~[reactor-core-3.4.6.jar:3.4.6] 在 reactor.core.publisher.MonoLift.subscribeOrReturn (MonoLift.java:40) ~[reactor-core-3.4.6.jar:3.4.6] 在 reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57) ~[reactor-core-3.4.6. jar:3.4.6] 在 reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157) ~[reactor-core-3.4.6.jar:3.4.6] 在 io.opentracing.contrib.reactor。 TracedSubscriber.lambda$onNext$2(TracedSubscriber.java:69) ~[opentracing-reactor-0.1.0.jar:na] at io.opentracing.contrib.reactor.TracedSubscriber.withActiveSpan(TracedSubscriber.java:95) ~[opentracing- reactor-0.1.0.jar:na] 在 io.opentracing.contrib.reactor.TracedSubscriber.onNext(TracedSubscriber.java:69) ~[opentracing-reactor-0.1.0.jar:na] 在 reactor.core。publisher.Operators$MonoSubscriber.complete(Operators.java:1815) ~[reactor-core-3.4.6.jar:3.4.6] 在 reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:61) ~[reactor -core-3.4.6.jar:3.4.6] 在 reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.4.6.jar:3.4.6] 在 reactor.core .publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157) ~[reactor-core-3.4.6.jar:3.4.6] at io.opentracing.contrib.reactor.TracedSubscriber.lambda$onNext$2(TracedSubscriber.java :69) ~[opentracing-reactor-0.1.0.jar:na] at io.opentracing.contrib.reactor.TracedSubscriber.withActiveSpan(TracedSubscriber.java:95) ~[opentracing-reactor-0.1.0.jar:na]在 io.opentracing.contrib.reactor.TracedSubscriber.onNext(TracedSubscriber.java:69) ~[opentracing-reactor-0.1.0.jar:na] 在 reactor.core.publisher.Operators$MonoSubscriber。完成(Operators.java:1815)~[reactor-core-3.4.6.jar:3.4.6] 在 reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:249)~[reactor-core-3.4 .6.jar:3.4.6] 在 io.opentracing.contrib.reactor.TracedSubscriber.lambda$onNext$2(TracedSubscriber.java:69) ~[opentracing-reactor-0.1.0.jar:na] 在 io.opentracing。 contrib.reactor.TracedSubscriber.withActiveSpan(TracedSubscriber.java:95) ~[opentracing-reactor-0.1.0.jar:na] at io.opentracing.contrib.reactor.TracedSubscriber.onNext(TracedSubscriber.java:69) ~[opentracing -reactor-0.1.0.jar:na] ...na] 在 io.opentracing.contrib.reactor.TracedSubscriber.withActiveSpan(TracedSubscriber.java:95) ~[opentracing-reactor-0.1.0.jar:na] 在 io.opentracing.contrib.reactor.TracedSubscriber.onNext(TracedSubscriber. java:69) ~[opentracing-reactor-0.1.0.jar:na] ...na] 在 io.opentracing.contrib.reactor.TracedSubscriber.withActiveSpan(TracedSubscriber.java:95) ~[opentracing-reactor-0.1.0.jar:na] 在 io.opentracing.contrib.reactor.TracedSubscriber.onNext(TracedSubscriber. java:69) ~[opentracing-reactor-0.1.0.jar:na] ...
问题在于 RSocket 和 opentracing-spring-jaeger-cloud-starter 的 opentracing-api 版本不一致。
RSocket 使用 opentracing-api 版本 0.31.0 opentracing-spring-jaeger-cloud-starter 使用 opentracing-api 版本 0.32.0(最新版本 - 0.33.0)
是否有使用新的 opentracing-api 使用 RSocket RPC 和 Jaeger 跟踪的解决方案?