SocketD协议单链接双向RPC模式怎么实现
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇内容介绍了"SocketD协议单链接双向RPC模式怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2025年02月04日SocketD协议单链接双向RPC模式怎么实现
本篇内容介绍了"SocketD协议单链接双向RPC模式怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
SocketD 是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,SocketD可以是RSocket等其他类似协议的替代方案。它的消息协议规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。暂时只提供Java实现,目前做为Solon rpc的sockte通道协议。
本案以单链接双向RPC模式为例演示:(在RPC调用模式基础上,增加服务端反向接口调用)
接口定义
Rpc 模式借用了 Nami 做客户端定义(Nami 是 Solon 伴生框架,定位为 Rpc 通用客户端)
@NamiClient("demo:/demoe/rpc")public interface HelloService { String hello(String name);}@NamiClient("demo:/demoe/rpc/name")public interface NameService { String name(String name);}
服务端
//启动服务端public class ServerApp { public static void main(String[] args) { //启动Solon容器(SocketD bean&plugin 由solon容器管理) Solon.start(ServerApp.class, args, app -> app.enableSocketD(true)); }}//定义远程服务组件(供客户端调用)@Mapping(value = "/demoe/rpc", method = MethodType.SOCKET)@Component(remoting = true)public class HelloServiceImpl implements HelloService { public String hello(String name) { //[服务端] 反向调用 [客户端] 的远程服务组件*** NameService rpc = SocketD.create(Context.current(), NameService.class); name = rpc.name(name); return "name=" + name; }}
客户端
//启动客户端public class ClientApp { public static void main(String[] args) throws Throwable { //启动Solon容器(SocketD bean&plugin 由solon容器管理) Solon.start(ClientApp.class, args); //[客户端] 调用 [服务端] 的 rpc // HelloService rpc = SocketD.create("tcp://localhost:28080", HelloService.class); System.out.println("RPC result: " + rpc.hello("noear")); }}//定义远程服务组件(供服务端调用)@Mapping(value = "/demoe/rpc/name", method = MethodType.SOCKET)@Component(remoting = true)public class NameServiceImpl implements NameService { @Override public String name(String name) { return name + "2"; }}
"SocketD协议单链接双向RPC模式怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
服务
客户
客户端
模式
双向
容器
链接
组件
内容
接口
更多
消息
知识
管理
通信
实用
学有所成
接下来
二进制
分布式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么具备软件开发思维
美俄网络安全
工控控制系统网络安全
户外广告屏网络安全
打发票时提示服务器无法创建对象
图数据库深度原理
数据库服务器ip改变
搭建rust服务器需要什么配置
阿里云退服务器
进口网络技术包括什么
汇丰软件开发 面试
高科技互联网泡沫之后
h5网络安全知识及答案
学软件开发前端还是后端
2015年银行招软件开发
来自服务器的重复标头
lol怎么进去服务器
网易版怎么找回服务器
奔驰宝马软件开发一个多少钱
福清网络安全技术招标
桓台微信小程序软件开发咨询
第一次连接谷歌服务器
电力公司网络安全分析
徐州运营软件开发哪个好
掌上宝短视频软件开发
网络技术支持保障
服务器虚拟机
服务器操作系统应用最广泛的是
数据库加锁具体场景
新加坡网站服务器