1

我正在使用 SSE 向客户端推送通知。我的数据服务的结构如下:

Client -> API Gateway(Spring cloud api gateway) -> f5(loadBalancer) -> (nginx) ->dataservice

当负载均衡器不在图片中时,我的通知工作正常,但是当我引入 f5 负载均衡器时,它不起作用并且连接中断。

f5 负载均衡器是否支持长寿命的 http 连接?我应该做什么样的配置才能让它工作。

4

2 回答 2

0

回答这个问题: 是的,F5 支持 SSE,因为我能够使其与一些配置 tweeks 一起工作。我无法在此处粘贴配置快照,但总而言之,关闭该**HTTP compression**属性似乎已经解决了我的问题。

于 2019-02-11T05:27:29.673 回答
0

你的问题不清楚它是否根本不起作用,或者它是否在一段时间后停止工作(然后多久?)

我想你的 F5 VS ( Virtual Server ) 是Standard类型的。

首先,我们可以检查 HTTP Profile 是否有罪。如果您的虚拟服务器类型具有第 7 层功能的标准虚拟服务器,请尽可能通过删除 HTTP 配置文件(可能还有其他一些配置文件,例如缓存..)将其更改为标准。你也可以试试Performance Layer4类型。它解决了问题吗?如果是,我们需要确定问题出在哪里,可能在 HTTP 配置文件或超时设置中,如下所述。

检查为您的 VS 配置的HTTP 配置文件,在Response Chunking选项中将其设置为Preserve。如果您需要更多详细信息,请参阅LTM HTTP 配置文件选项:响应分块。

检查与您的 VS 相关的服务器和客户端TCP 配置文件,如果您怀疑超时问题,它们的时间等待选项应该是无限的。还有其他解决超时的方法,我只是提供其中一种。如果您需要更多详细信息,请参阅K70025261 。

在运行 SSE 时,您可能应该禁用Delayed Acks(默认启用)和Nagle 算法(默认禁用),因为它们会使您的通知变慢。它们也都在 TCP Profile 屏幕上。

于 2019-01-14T21:36:48.247 回答