Java面试宝典:网络协议与Netty二
一、 讲一讲:什么是RPC?
理解RPC需要对比单一应用项目和分布式/微服务项目。
- 在单一应用项目中,一次服务调用发生在同一台服务器上的同一个进程内部。也就是说,调用方在本进程内部即可完成调用,无需涉及远程通信。
- 在分布式/微服务项目中,服务提供者和服务消费者通常部署在多台不同的服务器上的不同进程中。服务之间跨进程、跨网络的调用,无法如同本地调用一样直接进行,这种调用被称为远程调用,即RPC。
RPC(Remote Procedure Call),中文译为远程过程调用。它是一种通过网络,让程序能够像调用本地服务一样调用远端服务的通信技术,其核心目标是对开发者屏蔽底层复杂的网络通信细节。
Dubbo 是阿里巴巴于2011年开源的一款高性能Java RPC框架,其底层通信默认基于TCP协议。
(图片链接保留:RP