HAProxy 代理介紹-version2.2
github:https://github.com/haproxy/haproxy/blob/master/doc/intro.txt
date:2020-06
1 HAProxy是什麼
- TCP代理
- HTTP反向代理
- SSL終止程序/啓動器/卸載程序
- TCP規範化器
- HTTP規範器
- HTTP修復工具
- 基於內容的開關
- 服務器負載均衡器
- 交通調整器
- 防止DDoS和服務濫用
- 網絡故障診斷觀察
- HTTP壓縮卸載程序
- 緩存代理
- FastCGI網關
HAProxy不是:
- 一個顯式HTTP代理
- 數據清洗機
- 靜態Web服務器
- 基於數據包的負載均衡器
2 HAProxy是如何工作的
HAProxy 是一個事件驅動的、非阻塞的引擎,包含了一個基於優先級的多線程調度器的非常快的I/O層。它的設計考慮到了數據轉發的目標,它的架構優化了數據移動操作,並儘可能以最少的操作完成數據移動。它通過讓連接儘可能久的與相同的CPU保持連接來專門優化CPU緩存的效率。同樣它實現了一個分層模型,在每一級別提供旁路機制
[1],確保非必須的情況下數據達不到更高的級別。絕大多數的處理都被放到了內核中執行,並且HAProxy在協助內核儘可能快的作業方面做到了最好,HAProxy通過向內核給出提示或在猜測可以稍後分組時直接避免某些操作。有效的數據表明,HAProxy和內核在TCP或HTTP關閉模式下的處理時間佔比分別爲15%和85%,而在HTTP保持活動模式下,HAPro