• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Solon rpc 之 SocketD 协议 – 概述

JAVA相关 刘之西东 1145次浏览 0个评论

Solon rpc 之 SocketD 协议系列
Solon rpc 之 SocketD 协议 – 概述
Solon rpc 之 SocketD 协议 – 消息上报模式
Solon rpc 之 SocketD 协议 – 消息应答模式
Solon rpc 之 SocketD 协议 – 消息订阅模式
Solon rpc 之 SocketD 协议 – RPC调用模式
Solon rpc 之 SocketD 协议 – 单链接双向RPC模式
Solon rpc 之 SocketD 协议 – 消息加密模式
Solon rpc 之 SocketD 协议 – 消息鉴权模式
Solon rpc 之 SocketD 协议 – RPC鉴权模式

1. 简介

SocketD 是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,SocketD可以是RSocket等其他类似协议的替代方案。它的消息协议规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。暂时只提供Java实现,目前做为Solon rpc的sockte通道协议。

2. 背景

说到这里就有一些疑问了,为什么要搞这个协议?难道程序员吃饱了撑得搞点新东西折腾自己?上面提到了RSocket。如果你对这个规范不熟悉就可补下课。但它用起来还是比较复杂,尤其是类似RxJava的接口风格,感观上更利于做响应式计算。而SockteD更适应传统使用习惯,更专一的面向服务请求。

3. 特性

特性与RSocket非常像,这里简单总结一下:

  • 具有语言无关性的二进制通信协议
  • 异步非阻塞消息驱动通信,高性能
  • 实现了网络通信的背压处理,在此基础上进行流量控制、连接恢复
  • 天然支持双向通信。如:单链接双向RPC
  • 更加适合分布式通信场景

4. SocketD三种交互模型

SocketD定义了三种交互模型来弥补Http协议的不足之处:

  • Send(msg):只发送不响应。在不需要响应时非常有用,例如非关键事件日志记录。
  • SendAndResponse(msg):发送并等待响应。类似Http的请求/响应模型。它是异步和多路复用的。
  • SendAndCallback(msg, (msg2)->{}):发送并在有响应时回调。类似Ajax异步回调。

5. SocketD两种协议模型

容器消息,用于实现消息加密或压缩之类非业务处理。内容消息,用于承载业务内容。

Solon rpc 之 SocketD 协议 - 概述

6.部分演示示例

  • Rpc 框架演示: solon_socketd_rpc
  • Message 通读演示:solon_socketd_message

附:项目源码

  • https://gitee.com/noear/solon


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Solon rpc 之 SocketD 协议 – 概述
喜欢 (0)

您必须 登录 才能发表评论!

加载中……