我是一名后端开发人员,使用Asp.Net Core
开发了WebApi服务。我还使用Ocelot
库开发了ApiGateway
。
从前端来看,前端开发人员使用React
和Axios
作为HTTP客户端。
当请求被直接提供给API方法时,它工作得很好。但是,当通过ApiGateway
调用请求时,响应时间要长得多(超过1-2分钟(。该延迟是从Chromium-based
浏览器f.e.Google Chrome
、Microsoft Edge
和Opera
执行的。Mozilla Firefox
一切正常。
此外,Postman
和JMeter
没有任何问题。
这种行为的原因是什么
或者我应该在哪里找到解决方案,在背面还是正面?
对于API网关,它需要从客户端到API网关,这意味着离开应用程序,去互联网,然后返回到您的应用程序以转到另一个实例,然后返回到API网关,这意味着再次离开您的应用程序,然后回到你的第一个例子。
因此,这种额外的延迟是意料之中的。降低延迟是添加API缓存,这只会有用如果您请求的内容是静态的而不是不断更新。当项目从高速缓存中移除并且需要从系统中提取,但它会降低大多数呼叫。
所以我想延迟是正常的,这很不幸。
至于为什么它在MozillaFirefox上响应良好,可能是由于API实现之间的差异。
以上就是我的观点,希望对你有所帮助。如果我的理解有误,请纠正我,谢谢。