RPC基础
2022/1/12 23:04:16
本文主要是介绍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基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用