gpt4 book ai didi

azure - 您可以使用 gRPC/gRPC-Web 在 Azure 上托管的微服务之间进行通信吗?

转载 作者:行者123 更新时间:2023-12-05 01:32:17 24 4
gpt4 key购买 nike

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

是否可以使用 gRPC 在微服务(Azure 应用服务)之间进行通信?是否可以通过容器或 Kestrel 以某种方式完成,以便支持 HTTP/2?

我在本地托管时有以下示例: enter image description here

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

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

最佳答案

Azure Web App 服务现已支持 gRPC 但仅适用于基于 Linux 的 Web App

这里是the official documentation关于如何设置它。

基本上,您只需配置应用程序以打开支持 HTTP 2 的端口。在 .NET Kestrel 中,您可以这样做(在下面的示例中,它位于端口 8585):

2022 年 11 月更新:对于 .NET 7 跳过此步骤!您的 Web 应用甚至不会使用此 ConfigureKestrel 代码块启动。不知怎的,没有它它就能神奇地工作。

// Configure Kestrel to listen on a specific HTTP port 
builder.WebHost.ConfigureKestrel(options =>
{
options.ListenAnyIP(8080);
options.ListenAnyIP(8585, listenOptions =>
{
listenOptions.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http2;
});
});

2022 年 11 月更新:.NET 7 仍需要执行以下步骤

然后您需要在您的网络应用程序中配置 HTTP 版本和代理

grpc in azure webapp

然后需要添加一个指向8585端口的环境变量

grpc setting in azure webapp

我可以确认 gRPC 已经在西欧地区运行。

关于azure - 您可以使用 gRPC/gRPC-Web 在 Azure 上托管的微服务之间进行通信吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65671652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com