『腾讯』RPC实现原理(Java简单实现一个RPC)( 二 )
Provider
6、客户端定义一个Transport类 , 通过Socket和服务器传输数据 , 把数据通过Socket把请求发送给Server Socket并等待服务端返回结果 。
Transport
7、定义一个Consumer , 通过动态代理 , 为接口提供一个代理类 , 如果不熟悉可以看下Java的动态代理 。 在InvocationHandler的invoke中不是通过反射调用 , 而是通过socket调用服务端的方法 。
Consumer
8 , 执行结果 , 在Consumer中调用了HelloService的两个方法 , 我们启动下程序看看执行结果 。 先启动服务端的Provider , 在启动客户端的Consumer 。
输出结果
本文就从实现原理上简单实现了RPC的调用 , 本程序只是一个演示 , 还有很多不足的地方 , 比如注册中心 , 序列化协议 , 负载均衡 , 传输协议等 。
推荐阅读
- 阿里巴巴■公有云竞争格局:阿里云一枝独秀,华为实现弯道超车
- 「淘宝客」腾讯最“嚣张”的员工!马化腾:不怕他上班睡觉,就怕他被挖走。
- #马化腾#当年跟马化腾一起创办腾讯,另两位大学生创始人,如今过得怎样了?
- 聚成教育Word文档如何快速实现段落整体上下移动
- 『宇航员』当宇航员在舱外工作时不小心脱离国际空间站,该如何实现自救?
- #水母#永生无法实现,宇宙不允许生命永生,看看水母的下场
- iphone12@iPhone 12最新曝光,CAD图将完成120Hz或将实现安卓危机来了
- 「腾讯」阅文“霸权合同”扯出腾讯、华为之争!南山必胜客和龙岗无敌手,谁会赢?
- 安卓▲鸿蒙系统下半年亮相?麒麟1020+屏下摄像头,将在华为Mate40实现
- 上观新闻疫情不改发展进程 协同创新推动“智造”加速跑,“机器人”核心部件实现自主研发