我正在使用SSE将通知推送到客户端。我的数据服务的内容如下:
Client -> API Gateway(Spring cloud api gateway) -> f5(loadBalancer) -> (nginx) ->dataservice
当负载平衡器不在画面中时,我的通知可以正常工作,但是当我引入f5负载平衡器时,它不起作用并且连接中断。
f5负载平衡器是否支持寿命长的http连接?我应该做些什么配置才能使其正常工作。
答案 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**
属性似乎已经解决了我的问题。