全双工的简单RPC框架需求

最近在设计一个RPC框架,有些基本的想法,抛砖引玉看是否有类似的原型。

#需求场景

  • 游戏,html游戏;
  • 业务平台和各个同业务终端的对接;譬如:医疗平台、物流平台、停车平台等等;

#需求

  • 客户端可以call服务器的接口实现;
  • 服务器也可以call客户端的接口实现;
  • 双方可以纯粹的发送通知,不等待响应;
  • 需要支持认证,客户端主动发起认证;
  • 有些服务接口实现,需要获得认证账户信息;

#技术准备

  • 基于socket长连接实现,而不是http;客户端负责保持连接;
  • 兼容websocket方案,客户端可以运行在html5;
  • 跨语言的序列化方式,譬如protobuffer,json,hessian,先选择json,可以参考JsonRpc 2.0协议;
  • 服务器实现首先锁定在java,用netty库实现;
  • 客户端的demo,首先实现在java和javascript上;

#技术要点

  • 客户端call服务器端简单,标准的rpc方案都有;
  • 服务器实现特殊处理Context接口;如果是该接口的实现,invoke的时候,需要先将正确channel信息设置到实现的变量上(线程安全);
  • 服务器主动调用客户端接口;首先每个客户端通过认证接口,维护唯一的ID编号;服务器调用客户端接口的时候,第一个参数设置为ID,作为客户端区分,该请求转发到ID对应的连接上,并等待客户端响应;
  • 标记为Notify的接口,不需要等待响应;

#后续待定。。。

转载于:https://my.oschina.net/jdragon/blog/552410

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值