AWS Elastic Load Balancing 支援 Connection Draining 功能了:「ELB Connection Draining - Remove Instances From Service With Care」。
由於 Connection Draining 是自創名詞,所以 AWS 的人解釋了一大堆。其實對比較熟悉的人用「graceful shutdown」就應該能了解 Connection Draining 想要做什麼事情。
技術上的細節是,當 instance 從 ELB 內被移除 (無論是暫時性的還是永久性的),新的 request 將不會被送到該 instance 裡,而既有的連線將不會斷掉,直到 client 完成或是超時 (timeout)。
這個功能在一般商用的 load balancing solution 都會提供,而且是對於服務品質其實還蠻重要的功能。
話說回來,這陣子 ELB 動了不少東西?不查資料可以直接想到的就包括了:
- HTTPS 支援 PFS。
- 支援 access log 下載。
再加上今天的 graceful shutdown。每次都改善一些東西,累積起來就是驚人的財產...