You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RSocket 1.1.0与rsocket-rpc 0.3.0升级后FragmentationDuplexConnection缺失问题咨询

替代FragmentationDuplexConnection的方案及配置指南

好问题!在RSocket 1.1.0和rsocket-rpc 0.3.0版本中,FragmentationDuplexConnection确实被官方移除了,它的分片/MTU控制功能已经被整合到RSocket核心的传输层实现中,并且提供了更直观的配置方式,完美适配你通过负载均衡器/代理使用WebSocket传输的场景。

具体替代方式及配置步骤

  • 直接在WebSocket传输层配置MTU
    现在不需要手动创建包装类,你可以直接通过WebSocketClientTransport(客户端)或WebSocketServerTransport(服务器)的fragment(int mtu)方法来设置MTU值。针对你的需求,传入65536即可实现65K的MTU配置。

    客户端配置示例:

    // 创建WebSocket传输并设置65K MTU
    WebSocketClientTransport transport = WebSocketClientTransport.create(URI.create("ws://your-proxy-or-lb-endpoint"))
        .fragment(65536);
    
    // 基于配置好的传输创建RSocket客户端
    RSocketClient rsocketClient = RSocketClient.create(transport);
    

    服务器端配置示例:

    // 创建WebSocket服务器传输并设置65K MTU
    WebSocketServerTransport serverTransport = WebSocketServerTransport.create(8080)
        .fragment(65536);
    
    // 启动RSocket服务器
    RSocketServer.create(new YourRpcHandler())
        .bind(serverTransport)
        .block();
    
  • Spring Boot Starter适配
    如果你使用自定义的rsocket-rpc Spring Boot Starter,只需要在自定义RSocketClient或RSocketServer的Bean时,注入配置好MTU的Transport实例即可。这样所有的rpc调用都会自动使用这个配置了。

版本变更的核心逻辑

官方移除FragmentationDuplexConnection是为了简化架构,把分片逻辑内建到传输层实现中,避免用户手动包装连接对象,同时让MTU配置更贴近传输层的职责划分,整体使用起来更简洁直观。

内容的提问来源于stack exchange,提问作者Mavo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 07:07:41