1

我目前正在设计一个微服务架构,我对这个话题很陌生,这个问题似乎在任何地方都没有得到明确的回答。

是否可以使用 gRPC 在微服务(Azure 应用服务)之间进行通信?能否以某种方式使用 Containers 或 Kestrel 来支持 HTTP/2?

我有以下示例在本地托管时工作: 在此处输入图像描述

但是,在 Azure 中托管它们时,它似乎不起作用:

基本上是否可以在 Azure 中使用 gRPC,或者我是否必须使用 gRPC-Web 进行所有通信?或者是否有任何建议/替代方案,如 REST/SignalR?

4

3 回答 3

1

根据开发者的使用情况,我不推荐使用 gRPC。具体细节可以参考用户反馈和我下面截的一些截图。

你可以先阅读这篇文章。

ASP.NET CORE 上的 SIGNALR 与 GRPC – 选择哪一个

当前状态:

  1. .NET 的 gRPC-Web 现在可用

在此处输入图像描述

2. Azure SignalR Service(官方推荐)</a>

在此处输入图像描述

开发者反馈:

Azure 应用服务中的 gRpc 支持

图1。

在此处输入图像描述

图2。

在此处输入图像描述

图 3。

在此处输入图像描述

图4。

在此处输入图像描述

于 2021-01-12T01:41:37.207 回答
0

弄清楚了。最终使用了 Dapr,一个微服务构建包。到目前为止它非常棒,并且它内置了 GRPC 支持

于 2022-01-17T15:27:44.757 回答
0

截至目前(2021 年 12 月),此问题仍然开放(自 2019 年 4 月起) https://github.com/dotnet/aspnetcore/issues/9020

Azure 应用服务使用 IIS/Windows/Http.sys。Http.sys 已融入操作系统,并不完全支持 gRPC 所依赖的 HTTP/2 尾随标头。

于 2021-12-17T05:48:46.360 回答