RPC通信原理与项目技术选型
2023-09-27 14:29:25 时间
RPC通信原理
RPC(Remote Procedure Call Protocol):远程过程调用协议。
技术选型
消息的序列化和反序列化使用的是 protobuf。
protobuf(protocol buffer)是google 的一种数据交换的格式,它独立于平台语言。
google 提供了protobuf多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。
由于它是一种二进制的格式,比使用 xml(20倍) 、json(10倍)进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
和Json的区别:
- protobuf是二进制存储,xml和Json是文本存储的。
- protobuf不需要存储额外的信息,只存储有效数据,Json存储的是 key-value。
网络部分,包括寻找rpc服务主机,发起rpc调用请求和响应rpc调用结果,使用muduo网络
库和zookeeper服务配置中心(专门做服务发现)。
相关文章
- ETL技术入门之ETL初认识
- 技术分享 | Web 控件定位与常见操作
- 技术分享 | 做为测试,那些必须掌握的测试技术体系
- 并发数据结构-1.1.3 非阻塞技术
- 《编译与反编译技术实战 》一3.3 词法分析器的LEX实现
- 《数据库技术原理与应用教程第2版》——
- 《精通Python网络爬虫:核心技术、框架与项目实战》——3.6 网络爬虫实现技术
- 大学那会儿,我读过的技术经典图书
- 《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》目录—导读
- 《Storm技术内幕与大数据实践》一1.1 Storm的基本组件
- 《Hadoop海量数据处理:技术详解与项目实战(第2版)》一1.4 小结
- 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
- 软件项目技术点(6)——结合鼠标操作绘制动态canvas画布
- 软件项目技术点(8)—— canvas调用drawImage绘制图片
- 「基于Python技术的智慧中医商业项目」Django后端系统配置
- 「基于Python技术的智慧中医商业项目」Django前端资讯数据交互
- 「基于Python技术的智慧中医商业项目」Django后端主页应用设计
- 运用大数据技术揪出的犯罪分子居然是某知名电台女主持人
- 记一次构建SaaS平台项目失败后的反思(收集的客户需求太少,且没有区分重点,闭门造车。技术演变要渐进)
- 3大军团、266个项目,菜鸟技术如何玩转双11项目管理?
- CRM用不起来 如何用新技术实现落地?
- 详析AT&T无线技术发展计划 AirGig可能成为真正突破
- 移动物联网技术LoRa、SigFox、NB-IoT和eMTC的发展轨迹
- 阿尔卡特朗讯超宽带固定接入技术助力瑞士电信光纤到户部署突破100万
- 无线VoIP技术的现状
- GitHub万星项目:黑客成长技术清单
- 超越摩尔定律 为什么技术会不断发展?
- 云计算出现独角兽,国内互联网的技术拼图会更强吗
- ONAP项目加入新成员推动业界发展和技术进步