通过 Azure 应用程序网关配置时延迟获取 SSE 事件

问题描述 投票:0回答:1

我们已经用python实现了SSE Server。我们正在使用 EventSource 从 Web 角度项目订阅 SSE 服务器。

当 SSE 服务器在本地系统中运行时,当一个事件被推送到服务器时,事件被推送到 EventSource 没有太多延迟。

问题: 当 SSE 服务器部署到 VM 并通过 Azure 应用程序网关配置时,当事件发布到服务器时,在事件被推送到事件源之前会有延迟。有时,延迟高达 15 秒。

当 VM 中的同一个 SSE 服务器配置为通过 ipaddress 直接访问时,任何被推送到服务器的事件都会被推送到事件源而不会有太多延迟。

当通过 Azure 应用程序网关配置访问时,事件被推送到事件源的延迟是否由于 Azure 应用程序网关而发生?需要专门为 SSE 配置的 Azure 应用程序网关中的任何设置?

Python版本:3.8

SSE版本:sse_starlette v1.3.4

Azure 应用程序网关使用的层级:标准

浏览器:Chrome

谢谢。

python server-sent-events azure-application-gateway
1个回答
0
投票

这可能是由于 响应缓冲 默认启用。因此,您的 SSE 响应首先由 Azure 应用程序网关缓冲,并在完成后发送到客户端。

这是您可以使用 Azure CLI 运行以禁用它的命令,如文档中所述,以供参考

az network application-gateway update --name <gw-name> --resource-group <rg-name> --set globalConfiguration.enableResponseBuffering=false
© www.soinside.com 2019 - 2024. All rights reserved.