一 RSocket的主要特性
首先,RSocket是高效一个二进制的网络通讯协议,能够满足很多场景下使用。其次,RSocket是一个激进的响应式捍卫者,激进到连API都跟响应式无缝集成。
1 四种通讯模式
即发即忘FireAndForget
立即发送一个请求,无需为这个请求发送响应报文。适用于监控埋点,日志上报等,这种场景下无需回执,丢失几个请求无伤大雅。
请求响应RequestResponse
请求方发送一条请求消息,响应方收到请求后并返回一条响应消息。传统的HTTP是典型的RequestResponse。
流RequestStream
请求方发送一个请求报文,响应方发回N个响应报文。传统的MQ是典型的RequestStream。
通道RequestChannel
创建一个通道上下文,双方可以互相发送消息。IM是个典型的RequestChannel通讯场景。
2 双向通讯Bi-Directional
RSocket的Client连接到Server,这个过程称为Setup,在连接成功后,会约定收发消息的方向逻辑:
- 当Client请求Server时,发送的请求ID永远为奇数
- 当Server请求Client时,发送的请求ID永远为偶数