分布式通信框架-RMI深入剖析:RPC协议、序列化、加密与网络IO

需积分: 0 0 下载量 151 浏览量 更新于2024-08-04 收藏 258KB DOCX 举报
分布式通信框架-RMI介绍 在分布式系统中,通信框架扮演着至关重要的角色。今天,我们将要讨论的是RMI(Remote Method Invocation,远程方法调用)分布式通信框架。 **什么是分布式架构?** 分布式架构是指将系统拆分成多个独立的节点,每个节点可以是服务器、计算机或其他设备。这些节点通过网络连接,共同完成某个任务或提供某种服务。分布式架构的优点是可以提高系统的可扩展性、可靠性和可维护性。 **分布式架构和集群的区别** 分布式架构和集群是两个相关但不同的概念。集群是指多个服务器或节点组成的群体,通常用于提供高可用性和负载均衡的服务。分布式架构是指将系统拆分成多个独立的节点,每个节点可以是服务器、计算机或其他设备。 **TCP/UDP协议** TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是两种常用的网络传输协议。TCP是一种面向连接的协议,提供可靠的数据传输服务。UDP是一种面向无连接的协议,提供不可靠的数据传输服务。 **三次握手机制和四次挥手协议** 三次握手机制是指在TCP连接建立过程中,客户端和服务器端之间的三次交互。四次挥手协议是指在TCP连接关闭过程中,客户端和服务器端之间的四次交互。 **FIN标识和ACK报文** 在TCP连接关闭过程中,客户端会发送FIN(Finish)标识给服务器端,表示客户端没有数据要发给服务器端了。服务器端收到FIN标识后,会发送ACK(Acknowledgment,确认)报文给客户端,表示服务器端的数据已经发完了。 **序列化和SerialVersionUID** 序列化是指将对象转换为字节流的过程。SerialVersionUID是Java中的一种序列化机制,用于标识对象的版本号。 **Transient关键字和父子类的序列化问题** Transient关键字是Java中的一种修饰符,用于标识对象的某些字段不需要序列化。父子类的序列化问题是指在父类和子类之间的序列化关系。 **kryo、FST、JSON、XML、protobuf、Hessian、Avro、Thrift序列化协议** 这些都是常用的序列化协议,每种协议都有其优缺点和应用场景。 **http和https协议** http(Hypertext Transfer Protocol,超文本传输协议)是一种常用的网络传输协议。https(Hypertext Transfer Protocol Secure,超文本传输安全协议)是基于http的加密协议,提供了安全的数据传输服务。 **客户端发起https请求** 客户端发起https请求时,需要生成随机数,发送给服务器端。服务器端收到请求后,返回证书,客户端验证证书的合法性。 **证书和数字签名** 证书是一种数字证书,包含了证书持有者的公钥、证书内容的数字签名和颁发机构的信息。数字签名是指使用第三方机构的私钥对证书内容进行加密。 **RMI分布式通信框架** RMI(Remote Method Invocation,远程方法调用)是一种分布式通信框架,允许不同进程之间的方法调用。RMI使用的是JRMP(Java Remote Message Protocol,Java远程消息协议)。 **什么是RPC?** RPC(Remote Procedure Call,远程过程调用)是一种分布式通信协议,允许不同进程之间的方法调用。RPC协议其实是一个规范,包括Dubbo、Thrift、RMI、Webservice、Hessian等多种实现方式。 **RMI概述** RMI是Java中的RPC实现,使用的是JRMP协议。RMI允许不同进程之间的方法调用,提供了高效、可靠的分布式通信服务。