Oracle RAC 客户端连接负载均衡(Load Balance)
生活随笔
收集整理的這篇文章主要介紹了
Oracle RAC 客户端连接负载均衡(Load Balance)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)現(xiàn)負(fù)載均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把負(fù)載平均分配到集群中的各個(gè)節(jié)點(diǎn),以提高系統(tǒng)的整體吞吐能力。通常情況下有兩種方式來實(shí)現(xiàn)負(fù)載均衡,一個(gè)是基于客戶端連接的負(fù)載均衡,一個(gè)是基于服務(wù)器端監(jiān)聽器(Listener)收集到的信息來將新的連接請(qǐng)求分配到連接數(shù)較少實(shí)例上的實(shí)現(xiàn)方式。本文主要討論的是基于客戶端連接的負(fù)載均衡,并給出演示。
與負(fù)載均衡配置之前的監(jiān)聽配置請(qǐng)參考
ORACLE RAC 監(jiān)聽配置 (listener.ora tnsnames.ora) http://www.linuxidc.com/Linux/2012-09/71494.htm
ORACLE RAC 下非缺省端口監(jiān)聽配置(listener.ora tnsnames.ora) http://www.linuxidc.com/Linux/2012-10/72042.htm
?客戶端的負(fù)載均衡
客戶端的負(fù)載均衡主要是通過為tnsnames.ora增加load_balance=yes條目來實(shí)現(xiàn),下面看看oracle(Note:226880.1)的解釋
The client load balancing feature enables clients to randomize connection requests among the listeners. Oracle Net progresses through the list of
protocol addresses in a random sequence, balancing the load on the various listeners. Without client load balancing, Oracle Net progresses through the
list of protocol addresses sequentially until one succeeds. ?This normally is referred to connect-time load balance.
從上面的描述中可以得知,如果未開啟load_balance=yes時(shí),Oracle Net會(huì)根據(jù)地址列表按順序來選擇一個(gè)進(jìn)行連接,直到連接成功為止。
如果第一個(gè)host主機(jī)連接失敗,在有多個(gè)地址的情形下,接下來選擇第二個(gè)地址連接,依此類推,直到連接成功為止。
當(dāng)開啟了load_balance=yes時(shí),則Oracle Net會(huì)從多個(gè)地址中隨機(jī)地選擇一個(gè)地址進(jìn)行連接,直到連接成功為止。
與負(fù)載均衡配置之前的監(jiān)聽配置請(qǐng)參考
ORACLE RAC 監(jiān)聽配置 (listener.ora tnsnames.ora) http://www.linuxidc.com/Linux/2012-09/71494.htm
ORACLE RAC 下非缺省端口監(jiān)聽配置(listener.ora tnsnames.ora) http://www.linuxidc.com/Linux/2012-10/72042.htm
?客戶端的負(fù)載均衡
客戶端的負(fù)載均衡主要是通過為tnsnames.ora增加load_balance=yes條目來實(shí)現(xiàn),下面看看oracle(Note:226880.1)的解釋
The client load balancing feature enables clients to randomize connection requests among the listeners. Oracle Net progresses through the list of
protocol addresses in a random sequence, balancing the load on the various listeners. Without client load balancing, Oracle Net progresses through the
list of protocol addresses sequentially until one succeeds. ?This normally is referred to connect-time load balance.
從上面的描述中可以得知,如果未開啟load_balance=yes時(shí),Oracle Net會(huì)根據(jù)地址列表按順序來選擇一個(gè)進(jìn)行連接,直到連接成功為止。
如果第一個(gè)host主機(jī)連接失敗,在有多個(gè)地址的情形下,接下來選擇第二個(gè)地址連接,依此類推,直到連接成功為止。
當(dāng)開啟了load_balance=yes時(shí),則Oracle Net會(huì)從多個(gè)地址中隨機(jī)地選擇一個(gè)地址進(jìn)行連接,直到連接成功為止。
注意,此連接方式僅根據(jù)地址列表隨機(jī)選擇,并不考慮到各個(gè)實(shí)例上當(dāng)前真正連接數(shù)量的多少,也即是沒有考慮各個(gè)節(jié)點(diǎn)真實(shí)的連接負(fù)載情況。
總結(jié)
1、客戶端的負(fù)載均衡配置較為簡(jiǎn)單,僅僅是在客戶端的tnsnames.ora添加 LOAD_BALANCE = yes |on
2、其連接分配原則是根據(jù)tnsnames.ora中連接標(biāo)識(shí)符下的ADDRESS列表隨機(jī)選擇來進(jìn)行與服務(wù)器之間的連接
3、如果選擇列表中的某個(gè)節(jié)點(diǎn)listener或instance不可用,則再從剩余的ADDRESS列表隨機(jī)選擇,直到成功為止
總結(jié)
以上是生活随笔為你收集整理的Oracle RAC 客户端连接负载均衡(Load Balance)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一次处理ORA-06512的经验
- 下一篇: JDBC连接Oracle RAC