RPC,表示远程过程调用,对于Java这种面试对象语言,也可以理解为远程方法调用,
RPC调用和HTTP调用是有区别的,RPC表示的是一种调用远程方法的方式,可以使用HTTP协议、或直接基于TCP协议来实现RPC,
在Java中,我们可以通过直接使用某个服务接口的代理对象来执行方法,而底层则通过构造HTTP请求来调用远端的方法,所以,有一种说法是RPC协议是HTTP协议之上的一种协议,也是可以理解的。
常见的 RPC 框架包括:
- gRPC:由 Google 开发,基于 HTTP/2 和 Protocol Buffers。
- Apache Thrift:由 Facebook 开发,支持多种编程语言。
- Dubbo:由阿里巴巴开发,主要用于 Java 生态系统。
- RMI(Remote Method Invocation):Java 提供的远程方法调用机制。