我最近遇到了一个术语“反应式套接字”。到目前为止,我一直认为websockets是一种成熟的异步风格。
那么什么是反应式套接字呢?
这个链接(http://rsocket.io/)甚至谈到了与websockets的比较。
发布于 2018-12-08 01:52:23
什么是RSocket?
RSocket在网络边界上实施Reactive Streams规范。它是一种应用程序级别的通信协议,具有通过网络工作的内置成帧、会话恢复和背压功能。
RSocket是传输不可知的。RSocket可以在Websockets、TCP、HTTP/2和Aeron上运行。
RSocket和Websockets有什么不同?
Websockets不提供应用级背压,仅提供基于TCP的字节级背压。Websockets也只提供分帧,不提供应用程序语义。这取决于开发人员构建用于与websocket交互的应用程序协议。
RSocket提供了分帧、应用程序语义、应用程序级别的背压,并且它不绑定到特定的传输。
有关创建RSocket背后的动机的更多信息,请访问RSocket站点上的motivations doc。
发布于 2020-10-09 03:28:48
WebSocket和RSocket都是以双向、多路复用、双工通信为特征的协议。但两者都在不同的层次上工作。
WebSocket是一种位于TCP之上的低级通信协议。它定义了如何将字节流转换为帧。但是WebSocket消息本身并没有关于如何路由或处理它的指令。因此,我们需要运行在websocket之上的消息传递协议,以便在应用程序级别实现双向通信。
RSocket是一个完全反应式的应用层协议,它运行在诸如TCP、WebSocket、UDP等字节流传输之上。它在网络上提供应用程序流控制,以防止中断并提高恢复能力。RSocket采用了具有非阻塞背压的异步流处理的思想,其中发生故障的组件将向上游组件传达其压力,而不是简单地丢弃流量,从而使它们减少负载。
https://stackoverflow.com/questions/47729220
复制相似问题