分布式技术原理与实战45讲--14 第12讲:如何理解 RPC 远程服务调用?

本文探讨了RPC(远程过程调用)的概念,作为分布式服务架构的基础,阐述了RPC如何允许程序调用远程服务,如同本地调用。文章提到了早期的RMI实现,并介绍了几个流行的RPC框架,如Apache Dubbo、Google的gRPC和Twitter的Finagle,以及它们的特点和应用场景。同时,还讨论了实现RPC所需的关键技术,包括通信建立、网络传输协议和服务注册与发现。最后,简要总结了RPC的相关技术和重要性。
摘要由CSDN通过智能技术生成

本课时主要讲解 RPC 远程服务调用相关的知识。

RPC 远程服务调用是分布式服务架构的基础,无论微服务设计上层如何发展,讨论服务治理都绕不开远程服务调用,那么如何理解 RPC、有哪些常见的 RPC 框架、实现一款 RPC 框架需要哪些技术呢?

如何理解 RPC

RPC(Remote Procedure Call)是一种进程间通信方式,百科给出的定义是这样的:“RPC(远程过程调用协议),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议”。

RPC 允许程序调用另一个地址空间的过程或函数,而 不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。

比如两台服务器 A、B,一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数或者方法,由于不在一个内存空间,则不能直接调用,这时候就可以应用 RPC 框架的实现来解决。

RPC 如何实现

早期的远程服务调用一般是通过 RMI 或 Hessian 等工具实现,以 Java RMI 为例,RMI 是 Java 语言中 RPC 的一种实现方式。

Java RMI(Java 远程方法调用,Java Remote Method Invocation)是 Java 编程语言里,一种用于实现远程过程调用的应用程序编程接口。应用 Java RMI,可以让某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。

Java RMI 实现主要依赖 java.rmi 包下面的工具类,具体流程包括继承 Remote 实现远程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值