----典型配置
oralocal =
(description =
(load_balance = yes)
(failover = on)
(address_list =
(address = (protocol = tcp)(host = 192.168.1.1)(port = 1521))
(address = (protocol = tcp)(host = 192.168.1.2)(port = 1521))
(address = (protocol = tcp)(host = 192.168.1.3)(port = 1521))
)(connect_data =
(service_name = oralocal)
(server = dedicated)
(failover_mode=(type=select)(method=basic)(retries=20)(delay=20))))
配置詳解:
這種配置方法適用與client端,稱為客戶端負載均衡及透明應用切換(taf)
load_banlance=on 客戶端隨機選擇address_list中的乙個addrss進行連線,
load_banlance=off 只能按address_list的順序連線,第乙個address可以連線則使用第乙個,第乙個不能連線時要看failover的設計,以決定是否可以償試第二個位址
failover=on 試圖連線或已經連線上後,出現故障時可自動切換到另乙個連線
failover=off 試圖連線或已經連線上後,出現故障時不能切換到另乙個連線上
只設定failover為on,可以起到嘗試連線時的failover,但因為不設定failover_mode所以不能對已經建立的連線進行failover
failover為on,同時設定了failover_mode,既可以在連線時failover,也可以實現連線建立後的failover。
failover為off,同時設定了failover_mode,禁用了failover功能,在連線時不能failover,已經建立的連線也不能failover,雖然查詢會話的failover_method,failover_type,都有failover的相關設定,但因為failover設定為off,所以這些設定不起作用
failover_mode的子引數含義:
type:1)session---如果使用者連線丟失,將建立乙個新的會話連線到備用節點,使用者的所有未提交的操作必須回滾,然後再次執行,select操作也被中止.
2)select---如果使用者連線丟失,將使用游標和之前的快照繼續執行select操作,叫做sql接管,sql接管能夠無縫接管理的事務型別只有select語句.其它的操作也必須要回滾然後再次執行.
3)none---客戶端預設值,禁止sql接管功能,主要用於測試的目地,在實際應用中type應指定為session或者select
method:1)basic---僅僅在failover發生時才連線備用節點
2)preconnect---在使用者連線到主節點時同時也在備用節點產生乙個連線會話,設定預連線模式,能夠快速接管sql
retries:當前節點失敗後,失敗切換功能會嘗試連線備用節點,這個值確定了嘗試的次數,如果僅delay被指定,retries預設為5
delay:兩次嘗試之間等待的秒數,如果僅指定retries,delay預設為1秒
backup:指定另外乙個用於備份連線的網路服務名,當rac設定為主次模式時,使用此引數,並且method應該設為preconnect
RAC的負載均衡
rac的負載均衡主要是指新會話連線到rac資料庫時,如何判定這個新的連線要連到哪個節點進行工作。在rac中,負載均衡分為兩種,一種是基於客戶端連線的,另外一種是基於伺服器端的。客戶端的負載均衡配置相對簡單,只需要在tnsnames.ora中新增load balance on這麼乙個選項即可。比如下面...
RAC的負載均衡
rac的負載均衡主要是指新會話連線到rac資料庫時,如何判定這個新的連線要連到哪個節點進行工作。在rac中,負載均衡分為兩種,一種是基於客戶端連線的,另外一種是基於伺服器端的。客戶端的負載均衡配置相對簡單,只需要在tnsnames.ora中新增load balance on這麼乙個選項即可。比如下面...
生產環境下的負載均衡配置
一 簡介 首先考慮到的是將網上的連線通過負載均衡的方式分散來減輕伺服器的壓力,這方面可以使用nginx 來實現 其次需要解決的問題是session,對比了幾種方案發現nginx內建的ip hash策略可以解決該問題,最終網路的架構變成了下圖所示,在該方案中增加了4臺伺服器,其中一台nginx負載 另...