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安全错误
数据库的锁怎样保障安全
中兴通讯大数据软件开发
提高网络安全意识谨防钓鱼邮件
西安卓越软件开发公司
远程服务器s
dns64 服务器
软件开发 web应用
数据库一致性保障方案
电影下基层 网络安全
软件开发项目个人收获
计费系统安全属于网络安全吗
河北正规软件开发公司
服务器主机系统安装教程
深空之眼服务器连接失败
服务器端口安装
三级数据库考的是原题吗
数据库大数据量面试题
马坚 软件开发中心
多媒体与网络技术考研
软件开发职业技能测试
软件开发基础知识测试
体重计算器数据怎么加入数据库
数据库设计案例题目大全
画出网络安全通用模型图片
南通数据网络技术怎么样
perl脚本自动备份数据库
网络安全谁可以与华为比
西安网络安全培训
数据库若什么则什么意思
电脑软件的服务器地址快捷键
电商平台网络安全存在哪些问题