我创建了一个带有spring rsocket支持的简单rsocket端点:
@Controller
class SampleController {
@MessageMapping("sample")
fun sample(): Flux<ByteArray> {
return Flux
.fromIterable(generateSequence(1) { it + 1 }.asIterable())
.delayElements(Duration.ofSeconds(2))
.doOnNext { println(it) }
.map { it.toString().toByteArray() }
}
}
只要客户机连接并拉取数据,这种方法就可以正常工作: rsc tcp://localhost:8888 --stream --route sample
一旦我取消这个,cpu使用率将达到20%。如果我多跑 rsc
在并行的客户机中,当我取消所有这些客户机时,cpu使用率将>50%。
我试图寻找一些在服务器端有清理的样本,但没有找到任何东西。此外,我还启用了全局调试日志记录级别( logging.level.root=DEBUG
),但客户端取消后,日志中没有任何内容。我在想,也许有某种自动重新连接机制,启动并开始垃圾邮件请求。
那么,我是不是漏掉了什么,有没有这样的行为?
暂无答案!
目前还没有任何答案,快来回答吧!