游戏中Dubbo类的RPC设计时的注意要点

一.消费方

1.需要使用到动态代理,代理指定的接口,这样子接口被调用时,就可以拿到:"类名+ 方法名+参数+返回值" 这些类型。

2.既然是rpc,那么接口被调用时,肯定在动态代理中会进行网络消息的发送,由于是远程调用,那么必然动态代理的proxy参数其实是用不到的,因为返回的话,是依赖于远程的服务提供者。

3.阻塞,等待消息的返回,支持超时。

二.服务提供者

1.必然要注册到zk中,其实就是本地一个Map,知道了调用者想调用啥时,知道具体的实现。也就是维护了一个Map<String, InterfaceImpl>的map。

2.消费者通过网络 把想要调用的信息传递过来后,服务提供者就找到实现,从而调用,调用后,再返回。

三、请求返回统一封装

RpcRequest

RpcResponse

为啥要封装下呢?

对于Request,这是因为有一些共性,比如:消费者需要存储"类名+ 方法名+参数+返回值"。

对于Response,则要告诉是否调用成功,还是说超时了。

四、序列化

我们这里采用kryo,因为我们希望是二进制级别的,而且是: 在修改签名时,我们不希望再直接生成下proto。

相关推荐
许长安4 分钟前
rpc和http的区别
经验分享·笔记·网络协议·http·rpc
爱吃苹果的梨叔9 分钟前
2026年分布式坐席系统技术指南:从KVM延长到全IP坐席协作
分布式·网络协议·tcp/ip
七七powerful14 分钟前
AI+运维提效--SSL 证书监控系统v3.0版本开发完成
网络·网络协议·ssl
星恒讯工业路由器17 分钟前
企业组网 企业加密内网、内网穿透、专线组网,三种方式该怎么选
网络·物联网·智能路由器·信息与通信
上海云盾-小余17 分钟前
跨境业务网络高危隐患:恶意流量拦截与高防架构搭建实战
网络·安全·web安全
河阿里25 分钟前
WebSocket:从零开始到实战项目
网络·websocket·网络协议
说不得明天27 分钟前
网络管理:AutoarNM部分
c语言·网络·mcu·汽车·autosar
xhbh66631 分钟前
无公网IP环境下的宽带端口映射:80km穿云箭部署与性能测试
网络·智能路由器
胡志辉的博客37 分钟前
邮件中点击“加载图片”,你的IP地址已经被泄漏
网络协议·user-agent·加载图片 ip 泄漏·邮件远程图片·追踪像素·邮件隐私保护·tracking pixel
lularible37 分钟前
PTP协议精讲(4.4):从时钟程序实现——时间的“追随者“
网络·网络协议·开源·嵌入式·ptp