REST、HTTP 和 gRPC 的正确分类是啥?

Posted

技术标签:

【中文标题】REST、HTTP 和 gRPC 的正确分类是啥?【英文标题】:What is the correct taxonomy of REST, HTTP and gRPC?REST、HTTP 和 gRPC 的正确分类是什么? 【发布时间】:2022-01-17 17:56:01 【问题描述】:

您认为比较 gRPC 和 REST 或 gRPC 和 HTTP 是否有意义?对于这两个比较,我觉得我是在比较苹果和橙子。

HTTP 是一种协议,REST 和 gRPC(尽管版本不同)都使用它,因此 gRPC 与 HTTP 没有多大意义。 REST 是一种架构风格,而 gRPC,afaik,不是。

那么如何创建正确的事物“分类”?

【问题讨论】:

【参考方案1】:

REST和gRPC有很多比较(list)

常见的第三种方法是GraphQL

当然,太阳底下并没有什么新鲜事,在这些(现代)方法之前,有 Web 服务 (SOAP)、CORBA、DCOM 等。

我不清楚您是否会从撰写更多关于该主题的文章中受益,因为现有分析涵盖了这一基础。

分类法 (!) 隐含在您总结的定义中:TCP/IP? HTTP? RPC? XML|JSON|YAML|二进制等等等等

与特定需求的相关性似乎是最好的起点。

【讨论】:

以上是关于REST、HTTP 和 gRPC 的正确分类是啥?的主要内容,如果未能解决你的问题,请参考以下文章

带有REST和Open API的gRPC

从 GRPC c++ 服务器实现返回“未找到”响应的正确方法是啥?

[教程,Part 2]如何使用HTTP/REST端点,中间件,Kubernetes等开发Go gRPC微服务

REST vs gRPC

Envoy和gRPC-Web:REST的鲜新替代方案

gRPC-Web发布,REST又要被干掉了?