公司使用的SSO服務,平均每分鐘處理440次請求。尖峰時刻可以在1分鐘內高達2000次請求。在台灣企業使用的內部系統來說,這應該已經是很驚人的使用量了。在我們內部來說,SSO服務也是一個重要的系統。不過其實就在今年5月的有一天,突然收到有大量節點失效的警告。
將四個辦公區域分別叫做:A、B、C、D。A1、A2表示A區域的兩個服務節點。發生時間序大至如下:
對於一個如此重要的系統,從發生問題到完全恢復花了快45分鐘。
實際上我在10分多中左右就發現並開始觀察,一方便我在查看錯誤節點的記錄,另一方面我也很請楚目前服務仍是正常提供的。原因就是監控上,針對服務層級的健康檢查是健康的。
儘管該區域的服務實例是異常的,但仍可以正常提供服務。下圖底色表示區域服務的健康狀態,圓圈顏色則是節點實例的健康狀態,綠色是正常;紅色為異常:
這也多虧了冗餘節點,以及APSIX提供的靈活「負載平衡」機制。使得全數服務節點失效的區域,仍可以嘗試使用其他區域的節點。