2015-07-02 238 views
2

我的網站取決於服務器的親和力。我的設置有2個節點(A和B)提供客戶端請求。NGINX負載平衡器和部署

就在部署我想Nginx的負載平衡器停止發送新的請求到節點B,而已經有親和力到節點B中的所有請求應被髮送到節點B.

這可能與NGINX ?

回答

1

就像@mikhailov在評論中告訴我的,儘管服務器已從配置中刪除,但當前請求將完成。 因此,這裏的戰術:

  • 卸下服務器(這將是下部署)從配置
  • 刷新nginx的配置

當部署已完成:

  • 再次將服務器添加到配置中
  • 重新加載nginx配置
+1

內置* ip_hash *提供會話持久性http://nginx.org/en/docs/http/load_balancing.html#nginx_load_balancing_with_ip_hash – Anatoly

+0

比克里斯托弗你的迴應。在serverB上有一個活動會話的用戶需要完成他們的事務,然後才能將它從負載平衡器中移除,因此需要將所有新請求重定向到服務器A.我將嘗試第一個選項。 –

+0

告訴我們,如果它按照希望工作,那麼! @mikhailov:是的,但在這種情況下,他不想與所有服務器共享會話,但讓所有用戶在禁用serverB之前先完成他們的請求。 但我認爲共享會話總是一件好事。 –

0

您可以使用server "someserverip" down; 這就是我們如何做到的,它非常棒!它允許當前請求完成,然後允許所有新請求去其他服務器。然後您部署到該服務器並刪除「下」。