1、真實伺服器down機了,排程器如何發現的,怎麼發現的?
這個只能依靠第三方健康軟解監控lvs後端服務的健康狀態,常用的方案就是結合keepalived元件實現。
keepalived主要有三個模組,分別是core、check和vrrp。
check負責健康檢查,包括常見的各種檢查方式: tcp_check, http_get, ssl_get, misc_check。
keepalived只有乙個配置檔案keepalived.conf,在裡面就可以配置真實伺服器的健康檢查:
(1)、tcp_check
# 配置真實伺服器
connect_timeout 3 # 鏈結超時時間
nb_get_retry 3 # 重連次數
delay_before_retry 3 # 重連時間間隔
connect_port 6500 # 檢測埠
}(3)、misc_check
3.1 keepalived.conf配置:
misc_check
3.2 misc_check.sh指令碼:
#!/bin/bash
# ./misc_check.sh
if [ $# -ne 1 ]; then
echo "warning: command param error."
exit 1
else
check_url=$1
cmd=`/usr/bin/curl -i $ 2>/dev/null | grep "200 ok" | wc -l`
if [ $ -eq 1 ]; then
echo "succ: check proxy $ is succeed."
exit 0
else
echo "fail: check proxy $ is failed."
exit 1
fifi
2、非活動連線數是如何確定的?
活動連線表示使用者已經連線到伺服器,並且正在資料傳輸。
非活動連線表示已經和伺服器建立連線,並且資料已經傳輸結束,但是還沒有斷開連線。
lvs計算活動連線和非活動連線的方式:
nat模型: 請求和回應的報文都會經過directory, 因此director可以準確的判斷出活動的連線和非活動的連線。
dr模型: 請求只經過director,響應不經由director,但在tcp斷開的時候, fin報文和最後一次的ack都會被director收到, 由此報文判斷連線是否活動或斷開。
3、lvs與nginx負載均衡橫向對比
在下面的鏈結中,總結和對比了三大主流軟體負載均衡器對比(lvs、nginx、haproxy):
lvs-使用用keepalived實現健康檢查的示例
lvs-直接路由(dr)模式示例
lvs+nginx負載均衡
lvs高併發負載均衡實現
lvs學習筆記1
lvs原理詳解及部署之二:lvs原理詳解(3種工作方式8種排程演算法)
lvs原理詳解以及部署
關於網路的幾個問題
q1 請你分別划划osi的七層網路結構圖,和tcp ip的五層結構圖?1 osi每層功能及特點 a 物理層 為資料鏈路層提供物理連線,在其上序列傳送位元流,即所傳送資料的單位是位元。此外,該層中還具有確定連線裝置的電氣特性和物理特性等功能。b 資料鏈路層 負責在網路節點間的線路上通過檢測 流量控制和...
關於Time Wait的幾個問題
time wait是個常問的問題,tcp網路程式設計中最不容易理解的也是它的time wait狀態,這也說明了tcp ip四次揮手中time wait狀態的重要性。下面通過4個問題來描述它 1.time wait狀態是什麼 2.為什麼會有time wait狀態 3.哪一方會有time wait狀態 ...
關於EOF的幾個問題
1 如何輸入eof ctrl z in win or ctrl d in linux 2 阻塞式以及非阻塞式 輸入緩衝是行緩衝。當從鍵盤上輸入一串字元並按回車後,這些字元會首先被送到輸入緩衝區中儲存。每當按下回車鍵後,cin.get 就會檢測輸入緩衝區中是否有了可讀的資料。cin.get 還會對鍵盤...