rhel6.5 selinux and iptables disabled
load balance: 172.25.79.1(server1)
virtual ip:172.25.79.100
gateway:172.25.79.1
realrerver1:172.25.79.2 (server2)
realrerver2:172.25.79.3(server3)
物理機內網 : 172.25.79.250
[root@server1 ha.d]# cd /opt/varnish/ldirectord-3.9.5-3.1.x86_64.rpm
-bash: cd: /opt/varnish/ldirectord-3.9
.5-3.1
.x86_64.rpm: not a directory
[root@server1 ha.d]# cd /opt/varnish/
[root@server1 varnish]# ls
bansys.zip
ldirectord-3.9
.5-3.1
.x86_64.rpm
varnish-3.0
.5-1.el6.x86_64.rpm
varnish-libs-3.0
.5-1.el6.x86_64.rpm
[root@server1 ~]# yum install -y ldirectord-3.9.5-3.1.x86_64.rpm
檢視配置檔案:
[root@server1 ~]# rpm -ql ldirectord
/etc/ha.d
/etc/ha.d/resource.d
/etc/ha.d/resource.d/ldirectord
/etc/init.d/ldirectord
/etc/logrotate.d/ldirectord
/usr/lib/ocf/resource.d/heartbeat/ldirectord
/usr/sbin/ldirectord
/usr/share/doc/ldirectord-3.9
.5/usr/share/doc/ldirectord-3.9
.5/copying
/usr/share/doc/ldirectord-3.9
.5/ldirectord.cf
/usr/share/man/man8/ldirectord.8
.gz
複製配置模版檔案:
[root@server1 ~]# cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
編輯配置檔案
[root@server1 ~]# vim /etc/ha.d/ldirectord.cf
# global directives #「 全域性 」 設定
checktimeout=3
#指定定real server出錯的時間間隔
checkinterval=1
#指定ldirectord在兩次檢查之間的時間間隔
autoreload=yes
#自動過載配置檔案,選yes時,當配置檔案發生變化,自動載入配置資訊
quiescent=no
#當乙個節點在 checktimeout 設定的時間週期內沒有響應是它是 「 靜止的 」 (它的權重為0),當你設定了這個選項後,ldirectord 將 會從 ipvs 表中移除真實伺服器而不是 「 停止 」 它,從 ipvs 表移除節點將中斷現有的客戶端連線,並使 lvs 丟掉所有的連線跟蹤記錄和持續連線模板,如果 你不將這個選項設定為 no,當某個節點崩潰時,對某些客戶端計算機而言可能會顯示為集群關閉了,因為在這個節點崩潰前這些客戶端計算機被分配給它了,而連線跟蹤記錄和程式連線模板仍然保留在director上。
logfile="/var/log/ldirectord.log"
#設定ldirectord日誌輸出檔案路徑
#vip 位址和埠號
real=172.25
.20.2:80 gate #指定realserver位址和埠,同時設定lvs工作模式,gate表示dr模式,ipip表示tunl模式,masq表示nat模式。
real=172.25
.20.3:80 gate
fallback=127.0
.0.1:80 gate #當所有的real server節點不能工作時,web服務重定向的位址
service=http #指定服務型別,對http服務做負載均衡
scheduler=rr #指定排程演算法,這裡是rr(輪叫)演算法
#persistent=600
#netmask=255.255.255.255
protocol=tcp #指出該服務使用的協議:tcp、udp 或 fwm
checktype=negotiate #指定ldirectord的檢測型別,預設為negotiate
checkport=80
#健康檢查使用的埠是 80
request="index.html"
#ldirectord將根據指定的real server位址,結合該選項給出的請求路徑,傳送訪問請求,檢查real server上的服務是否正常執行,確保這裡給出的頁面位址是可訪問的,不然ldirectord會誤認為此節點已經失效,發生錯誤監控現象。
#receive="test page" #指定請求和應答字串
#virtualhost=www.x.y.z #虛擬伺服器的名稱
關掉ipvsadm程序,因為兩個服務間有影響
[root@server1 ~]# /etc/init.d/ipvsadm stop
ipvsadm:
clearing the current ipvs
table: [ ok ]
ipvsadm:
unloading
modules: [ ok ]
[root@server1 ~]# ipvsadm -l
ipvirtual
server version 1.2.1 (size=4096)
prot
localaddress
:port
scheduler
flags
-> remoteaddress
:port
forward
weight
activeconn
inactconn
##realserver2
[root@server2 yum.repos
.d]# cat /var/www/html/index.html
www.westos
.com server2
##realserver2
[root@server3 html]# cat /var/www/html/index.html
www.westos
.com server3
物理機測試
1 realserver 無宕機,兩台realserver 輪詢
[root@niub keepalived and ldirectord]# curl 172.25.79.100www.westos.com server3
[root@niub keepalived and ldirectord]# curl 172.25.79.100
www.westos
.com server2
[root@niub keepalived and ldirectord]# curl 172.25.79.100
www.westos
.com server3
[root@niub keepalived and ldirectord]# curl 172.25.79.100
www.westos
.com server2
當realserver 2 掛掉:
[root@niub keepalived and ldirectord]# curl 172.25.79.100
www.westos
.com server3
[root@niub keepalived and ldirectord]# curl 172.25.79.100
www.westos
.com server3
當然,對於使用者來說是透明的,因為實際環境中,兩台rs是一楊的內容!! 快速排序演算法實現(遞迴實現 棧實現)
基本思想 選擇乙個基準元素,比如選擇最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,又稱為軸位置,此位置的元素確定後不再參與排序,然後再用同樣的方法遞迴地排序劃分的兩部分。分析 快速排序是不穩定的排序。快速排序的時間複...
介面實現與配置實現
在實現系統功能的時候,通常會首先定義好功能的介面,在系統功能不斷被實現的過程中,慢慢的發現有些介面的實現很類似,這個時候通常會開始做一次抽象,形 成乙個共同的部分,慢慢的系統形成了乙個抽象的層次,而為了通用,通常是通過定義介面,形成乙個抽象類,抽象類中暴露出一些抽象方法供外部擴充套件實 現,逐步的積...
js分頁實現,前端實現。
主要是借鑑了網上乙個例子,自己重新加了樣式,新增了跳轉,修改了一些小地方,用於和大家一起分享,前端分頁的技巧,的資料是我已經寫好了,其實大家也可以前端渲染 然後再分頁,都是可以的。其實分頁最關鍵是這兩句 var startrow currentpage 1 pagesize 1 currentpag...