微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Apache如何导致重复请求?

我有两个Rails应用程序可以互相交流.每天几次,应用程序A的请求在应用程序B中显示为重复(或一式三份/一式四份).记录所有出站和入站请求.日志显示应用A正在发送一个出站请求,而应用B在同一秒内接收该请求两次或更多次.

App B位于Apache和Amazon Elastic Load Balancer之后.

我不知道在哪里查看,甚至不知道要问什么问题可以解决可能导致此问题的原因.如果您需要更多数据,我很乐意提供.

最佳答案
重试可能来自Amazon Elastic Load Balancer或某些网络组件(例如路由器).我在使用其他负载均衡器(如Citrix netscaler)时也看到了类似的行为.

基本上,请求在请求链中的某个级别获得空闲超时.如果该超时没有将正确的HTTP 5xx状态发送回客户端(例如,它可能只是静关闭连接),那么超时源和客户端之间的任何组件都可能决定重试请求,具体取决于它们的方式配置.

追踪哪些组件导致重试可能非常具有挑战性.我的建议是确保您的Rails应用程序始终能够快速响应.如果请求无法快速完成,请考虑后台/轮询解决方案或非HTTP通信方法(例如WebSockets).

原文地址:https://www.jb51.cc/nginx/434798.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐