Trafficserver Cluster模式

概述

       爲了解決大流量、大存儲的訪問特性,Cache Cluster架構方案通常引入四層負載機制(LVS或硬件設備)解決大流量的問題,引入七層負載機制(Haproxy等)解決大存儲的問題。而這樣的Cache Cluster架構方案一次request需要經過七層負載機制和Cache Server兩次的解析。以選擇Haproxy爲例,其request解析的CPU開銷佔到用戶態的10%以上(不包括其它七層的匹配處理)。因此,避免request的重複解析,能夠減少CPU的開銷。

        另外,業界只有TrafficServer能夠提供融合七層負載和Cache Server的單獨解決方案,而其它的方案只能用兩個軟件來分別來實現七層負載和Cache Server。而TrafficServer正式實現完整方案的關鍵技術。

原理

        TrafficServerCluster模式原理如下圖所示:


      TrafficserveCluster模式下,遠端client訪問Cache Cluster在服務時存在四種處理策略:

  • 本地CacheServer Hit狀態

       clientrequest經過一致性哈希計算出對應的服務Server爲本地(即如圖中的Cache Server 1)。此時req如果在Cache Server1Hit,則直接回復resp。數據流程爲:

1:req->8:resp

  • 本地CacheServer Miss狀態

       clientrequest經過一致性哈希計算出對應的服務Server爲本地(即如圖中的Cache Server 1)。此時req如果在Cache Server1Miss,則回Orig Server。數據流程爲:

1:req->5:req->6:resp->8:resp

  • 遠端CacheServer Hit狀態

       clientrequest經過一致性哈希計算出對應的服務Server爲遠端(即如圖中的Cache Server 2)。此時req如果在Cache Server 2Hit,則回覆數據至Cache Server 1,再由Cache Server 1把數據回覆給client。數據流程爲:

1:req->2:req->3:resp->8:resp

  • 遠端Cacheserver Miss狀態

       clientrequest經過一致性哈希計算出對應的服務Server爲遠端(即如圖中的Cache Server 2)。此時req如果在Cache Server 2Miss,則回覆Miss信息至Cache Server 1,再由Cache Server 1回源,再把回源的resp一邊回覆至client,一邊回覆至Cache Server 2,由Cache Server 2存入本地。數據流程爲:

1:req->2:req->3:Miss->5:req->6:resp->8:resp(7:resp)

備註:

TrafficServer之間交互的requestresponse都爲序列化後的解析結果數據,因此可以減少重複解析。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章