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

一.消费方

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

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

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

二.服务提供者

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

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

三、请求返回统一封装

RpcRequest

RpcResponse

为啥要封装下呢?

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

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

四、序列化

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

相关推荐
承渊政道4 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
爱和冰阔落9 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
严肃小白兔10 小时前
Cloudflare 更新 API Token 管理:从最小权限到自动化凭据安全
网络·安全·自动化
Linux-lucky1 天前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
博客zhu虎康1 天前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
吴声子夜歌1 天前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
陈希1231 天前
Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位
linux·服务器·网络
国科安芯1 天前
从遥控到自治:ASP4644S2B支撑星载电源健康管理与容错配电
网络·单片机·嵌入式硬件·安全·dcdc·低轨卫星·商业航天
|_⊙1 天前
网络层协议 IP
服务器·网络·tcp/ip
无言听风雨丶1 天前
Kubernetes Service Mesh 与 mTLS 实战:从网络可达走向零信任服务通信
网络·kubernetes·service_mesh