RPC框架相关笔记

      最后更新:2022-06-16 12:31:56 手机定位技术交流文章

      分布式框架的整个过程:

      前端页面--> controller -- > service --> mapper -->(pojo类,这就是实体类。通常要实现序列化 implements Serializable)-->数据库

      根据开发规则,类名或接口名,后面的s通常是工具类。

      RPC(Remote Produce Call): Remote Process Calling Framework。

      RPC协议允许一个主机程序在互联网上调用另一个程序,不需要程序员编写交互过程。当A在B中调用函数或方法时,A不知道该方法在B中的具体实现

      RPC是上层协议,底层可以基于TCP协议,它也可以基于HTTP协议。一般来说,我们认为RPC是基于RPC的具体实施,杜布博框架(Dubbo Framework)。一般来说,RPC通常被称作符合要求的网络中的通信通话,甚至HTTP协议也可以称为RPC具体实现,但具体分析表明,RPC协议比HTTP协议更有效率,更多基于RPC的框架功能。

      RPC协议基于分布式架构,因此RPC在分布式项目中具有独特的优势。

      1.RPC和HTTP的比较

      1.1具体实现

      RPC:可以基于TCP协议,它也可以基于HTTP协议。

      HTTP:基于HTTP协议。

      1.2效率

      RPC:自定义的特定实现可以减少大量不必要的报告内容,使报告的数量更小。

      HTTP:如果它是HTTP 1.报告中的许多内容是徒劳的。 如果它是HTTP2.0,它与RPC没有太大的区别,并且比RPC少一些服务管理功能等。

      1.3连接方式

      RPC: 支持长距离连接.

      HTTP:(2.0也开始支持长连接)每个连接被保持三次,四个波被切断。

      1.4性能

      RPC可以基于多种序列方法(允许以字符形式传输)。

      HTTP主要是通过JSON(超文本传输),它在序列化和逆序列化方面效率较低。

      1.5注册中心

      RPC: 一般来说, RPC框架有一个注册中心。

      HTTP: 一切都连接起来.

      1.6负载均衡

      RPC: 大多数RPC框架都有负荷平衡测量.

      HTTP:通常需要使用第三方工具。例如:nginx

      1.7综合结论

      RPC框架一般具有丰富的服务管理和其他功能,更适合企业内部接口调用。HTTP更适合平台间调用。

      2.HttpClient的RPC实现

      HttpClient是一个支持长距离连接的微架构,主要使用这个架构,并使用Java代码模拟一个向服务端口发送请求的浏览器来模拟远程进程调用。

      模拟浏览器向客户端发送HTTP请求,然后模拟服务端向客户端发送HTTP类型响应。

      2.1没有参数GET请求

      使用浏览器访问网站的过程:

      1.打开浏览器

      2.输入地址

      3.访问

      4.看结果

      使用HTTPClient访问WEB服务的过程:

      1.创建客户端相当于打开浏览器

      2.创建一个请求地址,相当于输入地址

      3.初始请求,相当于访问网站(==返回键)

      4.处理响应结果,相当于浏览器显示结果

      具体代码如下:

      2.2与参数GET请求

      3.1 无参数 POST 请求

      3.2有参数 POST请求

      4.RMI Implementation RPC

      RMI:远程方法调用(协议,长连接)

      RMI源自JDK1.2,它实现在另一个服务器上调用Java应用程序(JVM)的内容,就像在一个Java应用程序中调用本地方法一样。

      RMI是向Java语言的远程调用,不能跨语言实现。

      简言之:开发一个RMI客户端,然后开发一个服务器

      RMI执行流程:

      注册处是所有服务器对象配置的命名空间。每次服务端创建对象时,它会使用绑定()或重绑定()方法注册。这些都是使用唯一称为绑定名称的名称注册的。

      要调用远程对象,客户端需要对对象的引用,即从注册表中通过与服务端绑定的名称获取对象的查找()方法。

      如果它基于RMI协议,发送的请求将不再是 http协议,而是rmi协议,"rmi:// Ip:port:an alias for the interface (server, self-definable, only available)

      客户端根据访问路径发送请求,而RMI自动生成代理,然后可以启动远程调用。

      RIM-Registry应该如何实现代理? -- 为参数命名(请求的路径名称),然后生成代理类型的代理对象

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

          热门文章

          文章分类