重新認識硬軟負載

2021-10-02 06:07:39 字數 1903 閱讀 6227

這段引用來自於

是一家做負載均衡的,老闆有著非常勵志的經歷,也讓我了解了一些關於硬體負載均衡的知識,其實很多硬體負載均衡都有用到lvs、haproxy,只是他們有專門定製的硬體(包括特殊的晶元處理資訊交換及ssl),但是前不久我們要求f5給我們配置ipv6時,讓我重新的認識了一下f5這款硬負載。

因為集團ipv6改造,要求支援ipv6,f5給我們的方案是新建幾台ipv6服務,以前ipv4的策略不變,要新增ipv6策略負載到ipv6的服務上,這讓我不太理解,為什麼不能都指向我們的ipv4服務呢,nginx也好,haproxy也好不都是反向**嗎,ipv6連線到nginx,nginx**到後端的ipv4服務,這很簡單呀,然後,f5的人員並不是技術人員,說不能在乙個pool裡什麼的,只能自己查資料了。

找到這篇文章

1.透明模式:performance l4 + dnat

原理:這種型別的virtual server.f5按照純四層的方式處理資料報,只看源ip,源埠,目的ip和目的埠。資料報到達f5後,只改變目的ip為後端位址和埠進行**。這部分的資料處理方式是可以通過f5 pva晶元來進行**的。所以這種模式從理論上來將是不會消耗cpu的。但是f5對pva**的要求還是比較苛刻,會有很多相關條件的限制。

後端操作:預設閘道器需要指向f5

2.透明模式:performance l4 + snat + dnat

原理:這種型別的virtual server.f5按照純四層的方式處理資料報,只看源ip,源埠,目的ip和目的埠。資料報到達f5後,改變源ip位址為snat位址的(一般為f5的vip),同時也改變目的ip為後端位址和埠進行**。這部分的資料處理方式是可以通過f5 pva晶元來進行**的。所以這種模式從理論上來將是不會消耗cpu的。但是f5對pva**的要求還是比較苛刻,會有很多相關條件的限制。

後端操作:不需要任何操作

3.透傳模式:standard + dnat

原理:這種型別的virtual server在資料報f5上是採取full proxy 7層的處理模式。乙個client發起請求後,首先需要跟f5建立三次握手後,隨後f5進行**,再跟後端real server建立三次握手時,源位址和源埠為原客戶端的,而目的ip和埠為後端的。f5維護兩個tcp協議棧。在應用http profile後,f5將資料報按照http協議的方式進行處理。此時資料的處理過程完全由f5 cpu處理。也可以實現所謂的content switch(內容交換)。但是這種方式對cpu的消耗比較高。

後端操作:預設閘道器需要指向f5

4,透傳模式:standard + snat + dnat

原理:這種型別的virtual server在資料報f5上是採取full proxy 7層的處理模式。乙個client發起請求後,首先需要跟f5建立三次握手後,隨後f5進行**,跟後端real server建立三次握手時,源位址和源埠更改為snat位址的((一般為f5的vip)),而目的ip和埠為後端的。f5維護兩個tcp協議棧。在應用http profile後,f5將資料報按照http協議的方式進行處理。此時資料的處理過程完全由f5 cpu處理。也可以實現所謂的content switch(內容交換)。但是這種方式對cpu的消耗比較高。

後端操作:不需要任何操作

5,fast http模式:standard + snat + dnat + oneconnect

原理:oneconnect只是乙個keepalive的作用,讓client向f5發http請求的時候,可以復用同一條連線。不支援https和會話保持功能。

後端操作:不需要任何操作

6,路由模式

原理和lvs的dr模式相同

發現原來f5並不是反向**,而是nat,也就是要更改ip位址,於我們把ipv4的伺服器開啟了ipv6的支援,業務伺服器開啟對ipv6的監聽(就是ipv6與ipv4位址都監聽乙個埠),f5按我提供的ipv6位址設定策略,訪問沒有問題。

重新認識container

我還清楚的記得,第一次從 那兒聽說container這個詞 結果他給我解釋了半天還是似懂非懂的。今天,偷閒翻了下posa4,發現裡面對container的解釋特別清楚。粗略的理解下來是,為了分離關注點,而實現的對系統資源的封裝。豁然開朗的發現,os就是應用程式的container。突發奇想的,開發乙...

重新認識測試

以前總覺得測試是軟體開發的邊緣職位,開發人員才是軟體生命週期的核心人員。隨著對網際網路公司的了解,逐步了解到測試的重要性。以bat為例,三家公司均設定了測試開發工程師崗位,該崗位的主要職責就是編寫自動化測試案例,通過對 的邏輯進行分析,設計出能夠覆蓋大部分 的測試用例。如阿里的測試開發工程師的崗位描...

重新認識ARC

雖然用了很久的arc,感受了 簡潔。但是對arc底層實現並不了解。今天抽空研究了下,做些簡單地總結。一 strong 1.區域性變數 對於區域性變數來說,在超出作用域的地方由編譯器自動插入release。大概轉化為 在非arc返回的autorelease型別的方法 在blog手碼大概 如有錯誤還望指...