大型IP f5负载均衡器中的SSE支持

时间:2019-01-10 09:52:14

标签: spring-boot server-sent-events f5 spring-cloud-gateway big-ip

我正在使用SSE将通知推送到客户端。我的数据服务的内容如下:

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

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

f5负载平衡器是否支持寿命长的http连接?我应该做些什么配置才能使其正常工作。

2 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,如果它根本不起作用,或者过了一会儿(然后持续多长时间?),它就会停止工作

我想您的F5 VS(虚拟服务器)的类型为 Standard

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

响应块选项中检查为VS配置的 HTTP配置文件,并将其设置为保留。如需更多详细信息,请参见LTM HTTP Profile Option: Response Chunking

检查与您的VS相关的服务器和客户端 TCP配置文件,如果您怀疑存在超时问题,则它们的 Time Wait 选项应为不确定。还有其他解决超时的方法,我只是其中一种。如需更多详细信息,请参见K70025261

在运行SSE时,您应该禁用 Delayed Acks (默认启用)和 Nagle's Algorithm (默认禁用),因为它们可以发出通知慢点。它们也都在“ TCP配置文件”屏幕上。

答案 1 :(得分:0)

要回答这个问题: 是的,F5支持SSE ,因为我能够在几个星期的时间内进行配置。我无法在此处粘贴配置快照,但总而言之,关闭**HTTP compression**属性似乎已经解决了我的问题。