我使用SSE推通知客户。我的域逻辑articture如下:
Client -> API Gateway(Spring cloud api gateway) -> f5(loadBalancer) -> (nginx) ->dataservice
当负载平衡器出来的图片,我的通知可以完美运行,但是当我介绍了F5负载均衡器,它不工作,连接中断。
是否F5负载均衡器支持长期HTTP连接?我应该怎么做什么样的配置,使其工作。
你的问题还不清楚,如果它不能在所有的工作,或者如果它停止了一段时间后工作(然后多久?)
我想你的F5 VS(虚拟服务器)的类型为标准的。
首先,我们可以检查HTTP配置文件以任何方式有罪。如果您Virtual Server type是7层功能标准的虚拟服务器,通过删除HTTP配置文件如果可能的话将其更改为标准(也许其他一些个人资料,如缓存..)。您也可以尝试性能Layer4类型。难道是解决这个问题?如果是的话,我们需要找出问题的所在,很可能在HTTP配置文件或在超时设置,如下所述。
检查配置是否适合您的VS HTTP配置文件,在响应分块选项并将其设置为保留。见LTM HTTP Profile Option: Response Chunking如果你需要更多的细节。
检查服务器和客户端的TCP配置文件与您的VS,如果怀疑超时问题的时间等待选项应该是无限期的。还有其他的方法来解决超时,我只是给他们中的一个。见K70025261如果你需要更多的细节。
当你正在运行SSE,你应该禁用延迟ACK(默认启用)和Nagle算法(默认禁用),因为它们可以使您的通知更慢。他们也都正处在一个TCP配置文件屏幕。
要回答这个问题:是,F5支持SSE,因为我是能够使其与一些配置tweeks工作。我不能在这里粘贴配置快照,但总的来说,关闭**HTTP compression**
属性似乎做的伎俩我的情况。