SocketD协议基本概念是什么
这篇文章主要讲解了"SocketD协议基本概念是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SocketD协议基本概念是什么"吧!
1. 简介
SocketD 是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,SocketD可以是RSocket等其他类似协议的替代方案。它的消息协议规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。暂时只提供Java实现,目前做为Solon rpc的sockte通道协议。
2. 背景
说到这里就有一些疑问了,为什么要搞这个协议?难道程序员吃饱了撑得搞点新东西折腾自己?上面提到了RSocket。如果你对这个规范不熟悉就可补下课。但它用起来还是比较复杂,尤其是类似RxJava的接口风格,感观上更利于做响应式计算。而SockteD更适应传统使用习惯,更专一的面向服务请求。
3. 特性
特性与RSocket非常像,这里简单总结一下:
具有语言无关性的二进制通信协议
异步非阻塞消息驱动通信,高性能
实现了网络通信的背压处理,在此基础上进行流量控制、连接恢复
天然支持双向通信。如:单链接双向RPC调用
更加适合分布式通信场景
4. SocketD三种交互模型
SocketD定义了三种交互模型,以适应不同应用场景:
Send(msg):只发送不响应。在不需要响应时非常有用,例如非关键事件日志记录。
SendAndResponse(msg):发送并等待响应。类似Http的请求/响应模型。它是异步和多路复用的。
SendAndCallback(msg, (msg2)->{}):发送并在有响应时回调。类似Ajax异步回调。
5. SocketD两种协议模型
容器消息,用于实现消息加密或压缩之类非业务处理。内容消息,用于承载业务内容。
感谢各位的阅读,以上就是"SocketD协议基本概念是什么"的内容了,经过本文的学习后,相信大家对SocketD协议基本概念是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!