使用Netty和动态代理实现一个简单的RPC

      最后更新:2022-05-20 20:28:48 手机定位技术交流文章

      远程程序呼叫(RPC)

      RPC的目的是在两个主机分布式应用程序中的 Java 程序之间进行沟通,当 A 主机使用 B 主机功能时,该程序与在它们自己的程序中的调用一样容易。
      RPC框架的功能是加密底调的具体细节,客户可以通过简单地调用帮助写作者开发代码的方法来获取服务供应商的回答。
      区域方案委员会的基础是一项TCP协议、服务结束和客户-终端沟通以及点对点沟通。

      作用

      客户在RPC申请中援引服务端代码。

      客户端需要一个 API 接口, 才能传输与服务器相关的方法名称、 方法参数类型、 特定参数等等 。

      方法必须由服务所有人实现,然后服务所有人必须利用基于信息的正确方法,在收到客户请求后返回客户。

      流程图演示

      代码实现

      客户必须首先了解服务界面,然后封装请求对象并将其发送到服务器。

      一种方法必须有方法名称、方法参数类型、特定参数和执行方法的类别名称才能调用。

      View Code

      也可以使用一个对象从服务器上封存客户的反应(方法调用的结果)。

      View Code

      • 如果在接到多线电话时,每份答复必须回复相关请求,可附上身份证明,以确认其身份。

      此项通过网络发送, 需要使用 Jackson 工具进行一系列操作 。

      View Code

      • 在反排序中,当服务收到请求和客户收到答复时,必须提供要转换的类型,这两种类型都不同,因此在下次传送时都提到该类型。

      我们利用Netty打开网络服务,以传送将要传输的数据。

      服务端

      绑定端口号码并连接 。

      Netty系在两个数据处理装置上。

      一个是数据处理器,服务端接收到请求->调用方法->返回响应,这些过程都在数据处理器中执行

      • 这是从灰缸中取回东西的预运行程序: 存储可能在容器中被远程调用的物体, 等待它们被使用 。

      一个是可附加的 TCP 协议处理器,旨在处理典型的 TCP 问题,例如,由于数据集与客户提供的服务端数据接收缓冲不匹配而造成的粘贴和拆解问题。

      • 服务器和客户都使用这一数据处理装置,等于双方之间的数据传输协议。
      • 此处理器指定反序列类型, 因为此类型是天体排序和反序列的位置 。
      • 需要有一个工具将整数类型转换为字节类型,以便传送数据长度。

      转化数据工具类

      View Code

      客户端

      内蒂的行动覆盖了内蒂的行动,然后又返回到传输数据的频道类型。

      数据处理股负责接收答复,储存结果,并在随后的动态剂中使用数据。

      客户需要代理电话,代理电话需要代理电话,代理电话需要代理电话,代理电话需要代理服务实施,以便客户需要代理电话,将遥远的方法当作当地的方法。

      代理对象构造

      客户代用方法的执行

      请求在发送到服务器后停止,直到将来发现结果。

      • 这是一个由国家调整的未来和Channle公司,它忽视客户与众多服务器和多个远程电话的联系。
      • 您可以使用散列表存储每个服务端的Channle, 然后从每通电话的散列表获取 。
      • 使用与各种期货请求类型匹配的灰色工作表存储每个答题的结果

      客户端

      远程通话需要使用接口。

      操作前和测试守则

      服务端

      要接受远程电话,必须符合具体的实现标准。

      预先操作和测试代码

      执行结果

      原文链接:
      https://www.cnblogs.com/davidFB/p/15481823.html

      作者:划水的鱼dm

      如果你相信这些材料对你有益, 你可以把注意力放在它上。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/25504.html

          热门文章

          文章分类