AWS ELB Sticky Sessions

今天因為工作把在測試機的程式 Deploy 到正式機上面,
等待部署團隊把程式部署完成就開始了預先測試的工作,
但是今天的測試非常的不順利,
不管怎麼測試都有問題,
因此就開始 Debug 自己的程式,
測試了滿久的其實都沒有發生什麼異狀。

這時候就開始有很大的疑問了,
這版的程式在測試機上面用了很久都很正常啊,
怎麼可能到正式機上面就有問題,
反覆思考了好幾遍終於發現測試機與正式機不同的地方了,
在正式機上面因為要確保系統的穩定性,
所以一種 Server 都部署了兩台,
而我的程式有 “Session” 的機制,
但我們的系統沒有做 Session 同步的機制
因此發生第一個 HTTP 到第一台 Server,
第二個 HTTP 到第二台 Server 的情況,
而目前測試的這個 Protocol 又需要多次來回,
因此就炸掉拉 QQ …

接下來要進入此篇文章的重點摟,

如果發生這種問題在 AWS 上面有一個機制叫做 Sticky Sessions
在連結裡面可以看到比較詳細的解釋,
作者在這邊用比較簡單的方法敘述,
簡單來說就是附載平衡會看使用者丟過來的Session,
決定這個封包是否要再丟給相同的機器,
這樣的行為就可以解決Session亂跑的問題瞜

如下簡單說明一下如何設定

在步驟 2 把 Stickiness 打勾就 OK 了呦!

之後就可以正常使用服務了!