1

有誰知道如何在設定的時間內從上游接收到HTTP響應的情況下,讓Amazon的Elastic Load Balancers超時的方法?如何爲Elastic Load Balancer配置自動超時?

有時Amazon的Elastic Beanstalk會失敗更新,並且對指定資源的任何請求(運行Nginx + Node,如果有任何用處的話)會在資源嘗試加載時掛起任何請求頁面。

我想保持的請求超時下2秒,如果上游服務器具有由那麼沒有響應,自動故障轉移到默認503響應。

ELB可以嗎?

乾杯

+0

您正在使用Express或Geddy? –

+0

我現在在這裏使用Express。 –

回答

0

可以Configure Health Check SettingsElastic Load Balancing來實現這一目標:

彈性負載平衡定期檢查根據您指定的配置,每個註冊Amazon EC2實例的運行狀況。如果Elastic Load Balancing找到不健康的實例,它將停止向實例發送流量並將流量重新路由到正常實例。有關配置運行狀況檢查的更多信息,請參閱Health Check

例如,你只需要指定一個合適的平路 HTTP健康檢查,一響應超時2秒和1的UnhealthyThreshold接近你的規範。

0

TLDR - 設置在Nginx的你超時。

讓我們看看我們是否能夠演練的問題。

問題: 客戶應與東西快速呈現。沒關係,如果它是一個500頁。然而,ELB目前等待60秒直到放棄(https://forums.aws.amazon.com/thread.jspa?messageID=382182),這意味着在用戶顯示任何內容之前需要一分鐘。

解決方案:

  1. 更改ELB 超時看起來像AWS支持將有助於增加超時(https://forums.aws.amazon.com/thread.jspa?messageID=382182),所以我想,你就可以要求相反。因此,我們可以看到它不是user/api可調參數,並且需要您與支持進行交互。這需要一段時間,更重要的是,看起來像是一個奇怪的錶盤,可以調整這個項目的未來開發人員何時會因爲這樣短的超時而感到驚訝。

  2. 更改nginx服務器的超時時間 這似乎是正確的更改級別。您可以使用proxy_read_timeouthttp://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout)來執行您要查找的內容。將其調整爲小型(尤其是,如果您願意,可以將其設置爲特定位置)。

  3. 更改請求發生的方式。 改變客戶端代碼的工作方式可能會有所幫助。你可以想象出一個非常簡單的html/js頁面,它可以查看工作是否完成,並且讓用戶更新進度。這需要更多的工作,然後只是扔500頁。

相關問題