GRPC学习笔记(一)

【记录】初步认知RPC

1. 什么是RPC

RPC(Remote Procedure Call)意为远程过程调用,在一般的印象中,就是将一个服务调用封装在一个本地方法中,让调用者像使用本地方法一样调用服务,对其屏蔽实现细节。

而具体的实现是通过调用方和服务方的一套约定,基于TCP长连接进行数据交互达成。

服务调用者可以像调用本地接口一样调用远程的服务提供者,而不需要关心底层通信细节和调用过程。

2. 为什么要使用RPC?

本地函数调用时,函数在同一个内存空间,可以很好的寻址。

若改为分布式应用,将某一类的工具函数单独放在一个服务中,并在其他服务中调用这个工具函数。

而RPC可以做到像本地调用那样方便地调用远程服务。

什么场合下需要RPC:微服务、分布式架构、系统间调用。

3. RPC模式图解

4. RPC的三个特点

网络传输: Socket、netty

数据序列化: Protobuf

接口语法

5. 主流RPC框架

支持多语言的 RPC 框架,比较成熟的有 Google 的 gRPC、Apache(Facebook)的 Thrift;

只支持特定语言的 RPC 框架,例如新浪微博的 Motan;

支持服务治理等服务化特性的分布式服务框架,其底层内核仍然是 RPC 框架, 例如阿里的 Dubbo。

Licensed under CC BY-NC-SA 4.0
加载中...
感谢Jimmy 隐私政策