我是靠谱客的博主 复杂帽子,最近开发中收集的这篇文章主要介绍RPC基础1 解决什么问题2 RPC分类3 框架原理4 REST ful与rpc区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 解决什么问题

现代软件系统,越来越讲究海量用户,传统的服务器体系在单个进程里面开多线程无法满足了;于是产生了分布式系统,将业务拆分成很多小的服务,也就是所谓的微服务:而它的基石就是RPC框架。
RPC:远程过程调用。
传统的socket编程与采用rpc的比较,如下图:
在这里插入图片描述

2 RPC分类

目前主流的rpc框架
grpc: google的 基于protobuf http2.x 支持多语言
thrift: facebook 支持多语言
Dubbo: 阿里的 Java实现
brpc: 百度 C++实现 支持默认协程,也可以设置常规的线程方式

3 框架原理

原理图如下:
在这里插入图片描述
核心功能:
1 服务寻址
2 数据序列化和反序列化
3 网络传输
基于protobuf的service是rpc的基石,protobuf中的结构体是message,而service是将request和response两者结合起来。

4 REST ful与rpc区别

两者都是远程调用方式;
rest ful:实际上是一种标准;
rest:通过url来定位资源,使用http来描述操作(GET,PUT,PUT,DELETE)
rest :
1 对外提供服务,公共服务;常常用在云产品中;
2 易用性高,效率低,易理解
rpc:
1 服务器内部之间调用,一般不对外;
2 采用二进制效率高,复杂度较高。

最后

以上就是复杂帽子为你收集整理的RPC基础1 解决什么问题2 RPC分类3 框架原理4 REST ful与rpc区别的全部内容,希望文章能够帮你解决RPC基础1 解决什么问题2 RPC分类3 框架原理4 REST ful与rpc区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部