Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
API设计中REST、GraphQL和gRPC的选择依据? - levelup
22-01-10
banq
REST:客户都如果主要以(或唯一)Web 浏览器应该使用 REST。
GraphQL:以数据为中心的客户端,即大多数客户端专注于显示数据关系的客户端,应该使用 GraphQL。GraphQL 肯定有竞争对手,目前它是以数据为中心的客户的事实上的选择。大量的支持,很多人都知道,很多集成选项……它实际上是这个类别的黄金标准。
RPC:以 API 为中心的服务,即调用函数和修改状态的服务,以及更有可能
异步
或通过非浏览器客户端(例如移动应用程序、其他后端服务)进行通信的服务,应考虑使用 RPC 选项,例如 gRPC 或 JSON- RPC。如果需要结构schema 预先定义,请查看 gRPC 及其直接替代方案。如果无需结构schema 定义,可选择 JSON-RPC 及其直接替代方案。
如果您专门在 Kubernetes 中运行多个服务,强烈建议您考虑 gRPC。它是 CNCF 的一部分,许多 Kubernetes 工具和框架都对 gRPC 提供了开箱即用的支持。看起来 gRPC 将成为更复杂的 Kubernetes 部署的服务间通信的事实上的手段。
1
RESTful风格
API设计
GraphQL
gRPC