探索gPRC与对比REST API

背景

之前学习ArgoCD有了解到gRPC,并且之前项目和当前公司项目大部分都是gRPC为主。所以编写一篇关于gRPC的文章,简单说明一下。

诞生背景

RPC

HTTP 2.0

对比HTTP1.1

gRPC特点

  • convenience
  • scalability
  • performance

convenience

  • 对比RESTful

假设不同的服务使用不同编程语言实现,比如A服务使用Go,B服务使用Python,C服务使用Rust。这些服务之间想要通信

image-20241006132754551

服务通信

代码生成

协议缓冲区(Protocol buffer)

  • Fast
  • Type-safe
  • A signle source of truth
  • Generators for differe languages
  • Steaming

Message

Service

不同语言之间的HTTP库版本

  • python
  • Rust
  • Go

第三方客户端(third library)

REST-API处理方式

思考

  • 压缩JSON消息体后,传输速度会怎么样?
  • 开发和维护成本

探索gPRC与对比REST API
http://example.com/2024/10/05/探索gPRC/
Author
John Doe
Posted on
October 5, 2024
Licensed under