當大量使用者需要進行回源訪問您的來源站點時,為防止大流量的衝擊導致您的來源站點宕機,您可以通過等候室管理這些使用者,限制同時訪問來源站點的使用者數以及為正在等待的使用者提供秩序管理。
功能優勢
等候室可以通過以下方式為來源站點提供靈活的突發流量管控能力:
彈性調整回源流量:能夠基於來源站點的服務能力來設定最大活躍使用者數和每分鐘新增使用者數,以保障來源站點服務線上。
支援設定會話保持:能夠記住每個訪問者的狀態,以防止使用者短暫離開來源站點後必須重新排隊。
支援多種排隊方式:能夠以先進先出(FIFO)、隨機(Random)等多種方式進行隊列管理。
支援繞過等候室規則:能夠通過設定等候室規則來精確指定部分請求不需要排隊即可直接存取來源站點。
注意事項
由於ESA產品的等候室功能採用的是分布式節點架構,全網節點間的資料同步存在延遲,因此等候室功能不適用於以下情境:
需要根據用戶端請求訪問到ESA節點上的時間做嚴格 FIFO 排序的情境。
需要在極短的時間內完成商品“秒殺”的情境(例如:熱門演唱會搶票可能需要在1~2秒內完成商品售賣)。
需要精確限定活躍使用者數的情境,實際使用時的活躍使用者數相比使用者配置的活躍使用者數會有小的差異(控制在±10%範圍內)。
快速瞭解等候室
當您的網站推出了一些活動,例如商品促銷活動時,大量的使用者會在某一時段蜂擁而至。由於使用者需要及時訪問來源站點以擷取最新資料,這時您的來源站點在這種高並發的情境下可能會有宕機的風險,這將會極大地影響您的業務可用性。為此ESA像車站一般為您提供了等候室的服務,通過建立等候室,您可以限制同時訪問來源站點的使用者數,並為暫時未輪到訪問來源站點的使用者指派等候室。等候室中的使用者就像乘客們在候車室候車一樣,等待依次搭上訪問來源站點的“車次”。
您可以配置Cookie來記錄進入等候室使用者的訪問順序,Cookie就如同車票一樣記錄著使用者的“車次號”。同時等候室還會像候車室大廳提示板一樣為使用者提供等候資訊,協助使用者瞭解當前的等候情況。
等候室的工作流程
用戶端請求發送到ESA邊緣節點後
若命中ESA節點上的緩衝,則ESA節點會直接將已緩衝內容響應給用戶端。
若無法命中ESA節點上的緩衝,則用戶端請求將會回源擷取內容,此時ESA節點會根據已配置的等候室匹配規則對用戶端請求的URL進行匹配。
不匹配等候室規則的請求,將會直接回源擷取資源。
匹配等候室規則的請求,將會進一步判斷回源請求是否達到上限,回源請求的上限由等候室中設定的“每分鐘活動使用者總數”和“每分鐘新使用者數”來決定。
若回源請求未達上限,直接回源擷取資源。
若回源請求達到上限,則需要進入等候室排隊,等候室隊列中的請求將按隊列演算法順序訪問來源站點。
不同套餐的支援情況
目前等候室功能僅Premium和Enterprise套餐支援。部分功能需要您在企業版基礎上聯絡我們開通等候室Pro版進行升級或使用。
功能項 | Premium | Enterprise |
等候室基礎功能 | ||
等候室數量 | 1個 | 預設支援1個,開通等候室Pro版以後可以支援最大10個。 |
配置多個主機名稱和路徑 | 預設支援1個,開通等候室Pro版以後可以支援最大50個。 | |
自訂模板 | 開通等候室Pro版以後可以支援。 | |
禁用會話續訂 | 開通等候室Pro版以後可以支援。 | |
JSON友好響應 | 開通等候室Pro版以後可以支援。 | |
自訂隊列狀態碼 | ||
排隊方法 | 僅支援FIFO方式 | 預設支援FIFO模式,開通等候室Pro版以後支援所有排隊方式。 |
等候室規則 | 開通等候室Pro版以後可以支援最大5條。 | |
等候室事件 | 開通等候室Pro版以後可以支援最大5個。 | |
SEO爬蟲旁路 |