我目前正在设计一个微服务架构,我对这个主题非常陌生,这个问题似乎在任何地方都没有得到明确的回答。
是否可以使用gRPC在微服务(Azure应用程序服务)之间进行通信?是否可以使用容器或Kestrel以某种方式支持HTTP/2?
在本地托管时,我可以使用以下示例:

然而,当在Azure中托管它们时,它似乎不起作用:
基本上有没有可能在Azure中使用gRPC,或者我必须使用gRPC-Web进行所有的通信?或者有像REST/SignalR这样的建议/替代方案吗?
发布于 2021-01-12 09:41:37
根据开发者的使用情况,我不推荐使用gRPC。有关具体细节,您可以参考用户反馈和我在下面拍摄的一些屏幕截图。
你可以先读这篇文章。
SIGNALR VS GRPC ON ASP.NET CORE – WHICH ONE TO CHOOSE
当前状态:

2. Azure SignalR Service(Official recommendation)

开发者反馈:
gRpc support in Azure App Service
图1。

图2。

图3。

图4。

发布于 2021-12-17 05:48:46
截至目前(2021年12月),此问题仍未解决(自2019年4月以来) https://github.com/dotnet/aspnetcore/issues/9020
Azure应用服务使用IIS/Windows/Http.sys。Http.sys内置在操作系统中,并不完全支持gRPC所依赖的HTTP2尾部报头。
发布于 2022-01-17 15:27:45
我想通了。最终使用了Dapr,一个微服务构建包。到目前为止,它相当不错,并且内置了GRPC支持
https://stackoverflow.com/questions/65671652
复制相似问题