目录

文章目录

  • 目录
  • Protocol Buffers 序列化协议
    • 定义数据结构
    • 序列化传输

Protocol Buffers 序列化协议

Protocol Buffers 是一种高性能的、语言无关的数据格式序列化协议。与 XML、JSON 类似,并在一些高性能且对响应速度有要求的数据传输场景非常适用。

gRPC 可以基于标准的 ProtoBuf 来生成服务器端和客户端代码,可以将所有的接口描述及文档说明都放到 .proto 文件中,便于查看及修改。

Protocol Buffers 自带了一个序列化框架,具有自己的编译器,.proto 文件就是通过编译器进行编译的,.proto 文件需要编译生成一个类似库文件,基于库文件才能真正开发数据应用。

Protocol Buffers 在 gRPC 的框架中主要有 2 个作用:

  1. 定义数据结构。
  2. 通过序列化和反序列化,提升传输效率。

定义数据结构

// 消息类型注释,支持多行,
// 支持 markdown 语法:

架构师之路 — 分布式系统 — Protocol Buffers 序列化协议相关推荐

  1. 架构师之路 — 分布式系统 — gRPC 谷歌远程过程调用

    目录 文章目录 目录 gRPC gRPC 的调用架构 gRPC 的分层架构 gRPC 的应用场景 gRPC vs. REST gRPC gRPC(Google Remote Procedure Cal ...

  2. 架构师之路 — 分布式系统 — gRPC 的 4 种服务定义及调用方式

    目录 文章目录 目录 gRPC 的服务定义 gRPC 的 4 种服务定义方式 单项 RPC 调用 服务端流式 RPC 调用 客户端流式 RPC 调用 双向流式 RPC 调用 gRPC 的服务定义 与其 ...

  3. 架构师之路 — 分布式系统 — RPC 远程过程调用

    目录 文章目录 目录 RPC RPC 架构 成熟的开演 RPC 框架 RPC RPC(Remote Procedure Call,远程过程调用)是一种计算机程序通信方式,允许运行于一台计算机中的程序调 ...

  4. 架构师之路 — 分布式系统 — 分布式一致性难题

    目录 文章目录 目录 分布式一致性难题 分布式一致性算法 Paxos 算法 Raft 算法 Quorum NWR 算法 分布式一致性的实现方式 主动复制 被动复制 同步复制 异步复制 分布式一致性难题 ...

  5. 架构师之路 — 分布式系统 — CAP 定理

    目录 文章目录 目录 CAP 定理 C(Consistency,一致性) A(Availability,可用性) P(Partition tolerance,分区容错性) CAP 的组合 CP(con ...

  6. 架构师之路 — 分布式系统 — 分布式事务难题

    目录 文章目录 目录 分布式事务难题 分布式事务的实现方式 2PC 2PC 阶段一,执行事务 2PC 阶段二:提交事务 2PC 的 4 个缺点 3PC 3PC 第一阶段 can commit 3PC ...

  7. python爬虫架构师之路_一位资深 架构师大牛给予Java技术提升的学习路线建议

    一位资深 架构师大牛给予Java技术提升的学习路线建议 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素 ...

  8. Java高级架构师之路核心知识整理

    小编整理出一篇Java高级架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识.Java集合.JVM.多线程并发.spring原理.微服务.Netty ...

  9. 程序员养成架构师之路

    原文:5ceo:洒落一地的阳光 .的---><程序员养成架构师之路> 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是 ...

最新文章

  1. libevent多线程
  2. python是个啥-初识python: 面向对象是个啥?
  3. 4、连接Mysql数据库
  4. python数据分析知识点_Python基础知识点总结:数据
  5. 3_10 MediaMode 中介者模式
  6. Django,再谈json序列化
  7. SpringBoot + Mybatis-puls + ClickHouse增删改查入门教程
  8. 纪念DOS下的经典软件
  9. TensorFlow实现图像风格迁移
  10. Java程序设计课程教学实践
  11. 瑞萨RH850F1L用户手册(UM)LIN master接口章节 中文翻译(Section 16 LIN Master Interface (RLIN2))
  12. 对php的感受100字_团建活动后的感想50字-100字《5篇》
  13. 华为 虚拟机 fusion服务器,华为FusionCompute虚拟机挂载点磁盘空间在线扩容
  14. 【Javaweb学习笔记】在Eclipse中创建Web项目
  15. 【妄言之言】西南游记
  16. Shell编程之正则表达式(及操作案例)
  17. office 2010 中使用 mathtype6.8
  18. 站点页面身份验证问题
  19. mac下使用命令行工具sips实现单个或批量图片缩放、旋转、翻转和格式转换
  20. 火绒安全软件(安全防护软件)官方中文版V5.0.59.0 | 火绒安全软件好用吗

热门文章

  1. electron 安装import_Electron: 从零开始写一个记事本app
  2. 陈桥五笔用户编号怎么获取_委托书中“样品原编号”怎么填?
  3. python中yaml模块的使用_Python中Pyyaml模块的使用
  4. “万能钥匙”可以释放大脑:脑刺激个性化医疗的新领域
  5. 你知道脑机接口中的“后门“攻击吗?它真的有可能在现实中实现
  6. iOS应用开发入门(2)——添加一个按钮
  7. 卸料装置弹性零件的计算方法_机械零件加工变形的原因及其改进探究
  8. 李飞飞点赞的NeurIPS新赛道,刚刚公布了第一批数据集benchmark入围名单
  9. 特斯拉大半夜「见鬼」!空无一人的路上,它却看见「幽灵」秒刹车
  10. 阿里平头哥首款AI芯片发布!46倍于英伟达P4,刷新全球推理性能最高纪录