SocketD协议单链接双向RPC模式怎么实现
发表于:2024-10-29 作者:千家信息网编辑
千家信息网最后更新 2024年10月29日,本篇内容介绍了"SocketD协议单链接双向RPC模式怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2024年10月29日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安全错误
数据库的锁怎样保障安全
超微服务器管理口
怎么代理服务器
c json筛选数据库
登陆服务器异常
网络安全综合概述
戴尔服务器用什么显示器
扫黄打非网络安全图片
服务器硬盘为什么支持热插拔
广州商场软件开发方案
网络安全宣传专场
英语关于网络安全的博文
南京软件开发工具包
东莞微商软件开发公司
erp系统软件开发合同
360弹出代理服务器认证
数据库安全怎么做
db2数据库sql工具
软件开发错误有哪些
广州无限软件开发报价表
网络安全中学生剧本
网络技术服务具体描述
grid数据库
数据库第三版答案
操作系统是服务器吗
学会编程怎么做软件开发
青浦区正规软件开发报价表
择天决服务器
中介系统数据库
自学什么什么软件开发
学it软件开发培训学校