SocketD协议单链接双向RPC模式怎么实现
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"SocketD协议单链接双向RPC模式怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
服务器租用哪里好
服务器报错ba
如何查mysql服务器名称
好的数据库开发平台
数据库右击报错
国产数据库+安全
橙云服务器异常
达梦数据库 sql使用
软件开发项目调研提纲
黄山市网络安全指挥中心
计算机网络技术有什么素养
丽江网络安全出路
黄骅市安全云服务器特惠
服务器能设置几个管理员
开展网络安全教育培训的内容
计算机软件开发需要哪些证书
复印机服务器是pc服务器吗
数据库领域的图灵奖获得者有哪些
idea可以建立数据库吗
i春秋网络安全分享
久盟网络技术网
什么云服务器能装模拟器
通信行业网络安全监管情况
呈贡区创新软件开发价格走势
抚顺市德荣网络技术服务有限公司
杭州网络技术培训哪家好
微信聊天记录都会存在服务器里吗
将数据库中a列数据更新
服务器管理安卓
hive元数据库查看分隔符