问题标签 [rsocket-java]

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 投票
0 回答
79 浏览

spring - 客户端断开连接后 Spring RSocket 高 CPU 使用率

我创建了一个带有 Spring RSocket 支持的简单 RSocket 端点:

只要客户端已连接并提取数据,它就可以正常工作:

rsc tcp://localhost:8888 --stream --route sample

一旦我取消此操作,CPU 使用率将达到 20%。如果我rsc并行运行更多客户端,当我取消所有客户端时,CPU 使用率将 > 50%。

我试图寻找一些在服务器端进行清理的样本,但没有找到任何东西。另外,我启用了全局 DEBUG 日志记录级别 ( logging.level.root=DEBUG),但在客户端取消后日志中没有任何内容。我在想也许有某种自动重新连接机制启动并开始发送垃圾邮件请求。

那么,我是否遗漏了什么,有没有这样的行为?

0 投票
1 回答
76 浏览

rsocket - 如何从 rsocket 获取远程主机

我现在在我的spring项目中收到一个rsocket连接,然后我想获取它的远程地址和端口,我应该怎么获取呢?类似于使用socket.getRemoteSocketAddress()获取socket的远程地址。

0 投票
0 回答
117 浏览

micronaut - Micronaut 上的 RSocket:如何托管​​端点和调用其他端点

我了解 Micronaut 尚不支持 RSocket,并且自 2019 年 8 月以来一直在等待功能请求。

但是,RSocket 不依赖于 Micronaut。我看到了有关如何启动独立 RSocket maven 项目的教程:https ://www.baeldung.com/rsocket

这让我开始思考,我想知道是否有办法在 Micronaut 上使用 RSocket。

我的要求很简单:在 Micronaut 上托管 RSocket 端点并调用其他 RSocket 端点。

0 投票
2 回答
174 浏览

spring-webflux - Spring RSocket:未提取元数据的@DestinationVariable(不使用WebSockets)

我正在尝试基于 Spring 和 RSocket 构建一些微服务。特别是,我需要在两个服务之间传输文件,因此“客户端”将 Flux 作为有效负载发送到“服务器”。这很好用,但我在这里展示了一个简单的回显服务来解决元数据问题。

我无法解决的问题是如何将 JSON 对象作为元数据从客户端传递到服务器。我正在尝试在服务器的服务中使用@DestinationVariable,但它始终设置为“{metadata}”,这是到服务端点的路由中的占位符。我确信我错过了一些简单的东西,但我看不到它。我希望你能帮助我解决这个问题......

我在下面的交互信息下方发布了这个简单应用程序的源代码。

0 投票
2 回答
659 浏览

spring-boot - 如何使用 Spring Boot RSocket(后端)和 Angular(rsocket-js)将通知从服务器推送到客户端?

我打算将RSocket用于我的通知系统。我想将Spring Boot RSocket 用于我的后端(Java),而对于我的前端,我将使用 Angular 使用 rsocket-js

我能够快速启动一个请求流交互模型,其中我可以在我的系统中提取所有通知。请参阅我的后端的代码片段:

现在在我的前端,我有以下代码片段:

我在 UI 中有一个按钮,如果单击该按钮,将调用方法retrieveNotifications ,该方法将订阅我的后端requestStream中的 rsocket 消息映射方法。

一切正常,我可以看到我的回复。现在我的问题是,如果在我的服务器上有一个新数据插入到数据库中,例如,我如何从我的后端服务器发送通知消息到前端说“嘿!新数据已推送到数据库中。” 我有点卡在服务器如何能够以某种方式使用火灾并忘记客户端。

0 投票
0 回答
409 浏览

spring - 使用 Spring Boot RSocket 的聊天应用程序

我正在使用带有反应前端的 Spring boot 2.5.0。尝试使用 RSocket 构建聊天应用程序。

遇到以下链接。但是,仍然不清楚向特定用户发送消息。

RSocket 文档-> https://docs.spring.io/spring-framework/docs/5.3.8-SNAPSHOT/reference/pdf/rsocket.pdf

中等-> https://medium.com/swlh/building-a-chat-application-with-angular-and-spring-rsocket-3cd8013f2f55

RSocket 演示 -> https://github.com/benwilcock/spring-rsocket-demo/blob/master/rsocket-server/src/main/java/io/pivotal/rsocketserver/RSocketController.java

我的应用程序是多租户应用程序。每个租户可能有 3 到 10 个用户。

用例,对于任何给定的租户,

  1. 将消息存储在服务器中
  2. 应该能够列出在线用户
  3. 向属于特定租户的所有用户发送消息
  4. 从租户向特定用户发送消息

我有以下配置。

在 build.gradle 中,

应用程序属性,

RSocketController.java

在这里,我能够获取用户消息并需要将其路由到特定用户/用户。如何在线找到所有用户并将消息路由到特定用户/用户?

0 投票
1 回答
73 浏览

java - RSocket-CLI:未解决的参考:clientTransport

我在启动rsocket-cli时遇到了错误:

在此处输入图像描述

完整的日志在这里

我根据README.md做了所有事情,但在第一步我得到了这个错误。这是./gradlew --console plain installDist.

代码中最有趣的是这个错误看起来像这样: 在此处输入图像描述

在此处输入图像描述

我不确定,但可能很重要。我正在使用Shell: zsh 5.8.

0 投票
0 回答
90 浏览

load-balancing - 如何实现具有持久连接的有状态应用程序的负载平衡 - Envoy 和 Rsocket

我正在研究服务器和客户端的架构模型,它们都通过 Rsocket 连接进行连接。我使用 Envoy 为服务器配置了一个负载均衡器。请求流程如下所示,

假设我有 3 个服务器实例和 1 个代理实例。

  1. 代理将使用其标头连接到任何一台服务器(使用 Envoy 中的 MAGLEV 负载平衡策略)。
  2. 所有后续请求都应定向到代理连接所在的特定服务器。

但是,如果我按比例放大/缩小服务器实例,则标头哈希值将被重新哈希,并且后续请求将重定向到代理连接(以前连接 - 仍驻留在旧服务器实例中)不存在于新服务器中的不同服务器实例实例。

因此,一种可能的解决方案是通过识别持有代理连接的正确服务器实例(需要对服务器代码进行一些更改)在服务器之间进行重定向。但我不太确定这是最好的解决方案。所以,我想知道我是否可以使用任何 Envoy 配置来解决这个问题,或者我可以实施什么逻辑来缓解这个问题。

0 投票
1 回答
98 浏览

rsocket - 是否可以使用 RSockets 进行广播?

我的问题:
我已经在后端(java spring boot)和前端(React.js)上实现了 RSockets。
我的前端和后端能够通信。但是,我想知道是否可以从我的后端向多个连接的客户端广播消息。
这可能吗?

0 投票
0 回答
74 浏览

java - 通过 Java RSocket 请求通道发送消息时出错

我正在尝试创建一个 Java RSocket 通道。这是我的 SpringBoot 服务器端:

这是我使用原始 RSocket 的客户端:

但是在启动客户端时,我收到此错误:

有人可以帮我找出问题所在吗?