兩種負載均衡的配置。
1.客戶端負載均衡
這種方法是在客戶端的tnsnames.ora中,新增load_balance=yes來實現的。
83 =
(description=
(load_balance=on)
(failover=on)
(address_list=
(address=(protocol=tcp)(host=168.1.0.83)(port=1521))
(address=(protocol=tcp)(host=168.1.0.84)(port=1521))
)
(connect_data=
(service_name=ncsb)
(failover_mode=
(type=select)
(method=basic)
)
)
)
這種配置的特點是:當客戶端與伺服器端欲建立連線時,會從配置的列表裡隨機選擇一個,而不是根據伺服器的負載情況進行分發。這種配置方法是8I時候的方法。
2.伺服器端負載均衡
顧名思義,這種配置方法,客戶端可以不做任何關於負載均衡的配置。由伺服器根據各個節點的負載情況去決定分發到那個例項。要實現這種功能,必須配置remote_listener引數。設定了這個引數後,監聽器就能依靠PMON程式的註冊來監控到各個例項的負載資訊,註冊的間隔從1分鐘~10分鐘不等,例項負載越大,註冊的會越頻繁。註冊的內容包括各個節點的程式數量,節點負載,例項負載等。而且PMON程式不僅會對本機註冊還會向其他例項註冊,註冊的目標是依據remote_listener的內容。remote_listener的設定是在伺服器端的tnsnames.ora裡。
如:兩節點remote_listener引數的值都設定為ncsb_si
可以在兩個節點的tnsnames.ora裡設定如下:
ncsb_si=
(address_list=
(ADDRESS = (PROTOCOL =TCP) (HOST = 168.1.0.83)(PORT = 1521)
(ADDRESS = (PROTOCOL =TCP) (HOST = 168.1.0.84)(PORT = 1521)
)
雖然伺服器端的負載均衡似乎跟客戶端的配置無關,即不管客戶端的tnsnames.ora配置的是單例項的內容,也就是隻配置了一個節點的連線條目,還是叢集的條目,最終都將有伺服器端來判斷將連線建立在哪個節點。可是我在實際工作中發現實現這種功能還有一個條件就是客戶端配置的必須是service_name而不能是sid,否則將不能實現這個功能。
例如如下的配置:
83 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 168.1.0.83)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(sid= ncsb1)
)
)
採取這種配置的話,即使設定了remote_listener,監聽也都會將連線傳送到168.1.0.83上。必須設定service_name才可以。
83 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 168.1.0.83)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ncsb)
)
)
從listener.log檔案裡,可以看到PMON的更新資訊:
08-JAN-2010 20:22:43 * service_update * ncsb1 * 0
08-JAN-2010 20:24:17 * service_update * ncsb2 * 0
08-JAN-2010 20:24:17 * service_update * ncsb2 * 0
08-JAN-2010 20:31:09 * service_update * ncsb2 * 0
08-JAN-2010 20:31:09 * service_update * ncsb2 * 0
08-JAN-2010 20:31:11 * service_update * ncsb1 * 0
08-JAN-2010 20:31:56 * service_update * ncsb1 * 0
[ 本帖最後由 wei-xh 於 2010-7-9 12:45 編輯 ]
這種方法是在客戶端的tnsnames.ora中,新增load_balance=yes來實現的。
83 =
(description=
(load_balance=on)
(failover=on)
(address_list=
(address=(protocol=tcp)(host=168.1.0.83)(port=1521))
(address=(protocol=tcp)(host=168.1.0.84)(port=1521))
)
(connect_data=
(service_name=ncsb)
(failover_mode=
(type=select)
(method=basic)
)
)
)
這種配置的特點是:當客戶端與伺服器端欲建立連線時,會從配置的列表裡隨機選擇一個,而不是根據伺服器的負載情況進行分發。這種配置方法是8I時候的方法。
2.伺服器端負載均衡
顧名思義,這種配置方法,客戶端可以不做任何關於負載均衡的配置。由伺服器根據各個節點的負載情況去決定分發到那個例項。要實現這種功能,必須配置remote_listener引數。設定了這個引數後,監聽器就能依靠PMON程式的註冊來監控到各個例項的負載資訊,註冊的間隔從1分鐘~10分鐘不等,例項負載越大,註冊的會越頻繁。註冊的內容包括各個節點的程式數量,節點負載,例項負載等。而且PMON程式不僅會對本機註冊還會向其他例項註冊,註冊的目標是依據remote_listener的內容。remote_listener的設定是在伺服器端的tnsnames.ora裡。
如:兩節點remote_listener引數的值都設定為ncsb_si
可以在兩個節點的tnsnames.ora裡設定如下:
ncsb_si=
(address_list=
(ADDRESS = (PROTOCOL =TCP) (HOST = 168.1.0.83)(PORT = 1521)
(ADDRESS = (PROTOCOL =TCP) (HOST = 168.1.0.84)(PORT = 1521)
)
雖然伺服器端的負載均衡似乎跟客戶端的配置無關,即不管客戶端的tnsnames.ora配置的是單例項的內容,也就是隻配置了一個節點的連線條目,還是叢集的條目,最終都將有伺服器端來判斷將連線建立在哪個節點。可是我在實際工作中發現實現這種功能還有一個條件就是客戶端配置的必須是service_name而不能是sid,否則將不能實現這個功能。
例如如下的配置:
83 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 168.1.0.83)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(sid= ncsb1)
)
)
採取這種配置的話,即使設定了remote_listener,監聽也都會將連線傳送到168.1.0.83上。必須設定service_name才可以。
83 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 168.1.0.83)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ncsb)
)
)
從listener.log檔案裡,可以看到PMON的更新資訊:
08-JAN-2010 20:22:43 * service_update * ncsb1 * 0
08-JAN-2010 20:24:17 * service_update * ncsb2 * 0
08-JAN-2010 20:24:17 * service_update * ncsb2 * 0
08-JAN-2010 20:31:09 * service_update * ncsb2 * 0
08-JAN-2010 20:31:09 * service_update * ncsb2 * 0
08-JAN-2010 20:31:11 * service_update * ncsb1 * 0
08-JAN-2010 20:31:56 * service_update * ncsb1 * 0
[ 本帖最後由 wei-xh 於 2010-7-9 12:45 編輯 ]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-667644/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nginx 兩臺伺服器配置負載均衡!!!Nginx伺服器負載
- 負載均衡的種類負載
- 配置IIS的負載均衡負載
- Flume負載均衡配置負載
- apache 負載均衡配置Apache負載
- 負載均衡的幾種常用方案負載
- LVS:三種負載均衡方式比較+另三種負載均衡方式負載
- nginx配置+uwsgi+負載均衡配置Nginx負載
- 使用Nginx配置TCP負載均衡NginxTCP負載
- Nginx負載均衡配置說明Nginx負載
- 客戶端負載均衡配置客戶端負載
- DNS負載均衡的配置與特點DNS負載
- Nginx簡單的負載均衡配置示例Nginx負載
- Nginx多種負載均衡策略搭建Nginx負載
- 6種負載均衡演算法負載演算法
- Nginx/Httpd負載均衡tomcat配置Nginxhttpd負載Tomcat
- IdentityServer4 負載均衡配置IDEServer負載
- 負載均衡之Haproxy配置詳解負載
- nat模型實現http和https兩種負載均衡叢集模型HTTP負載
- NGINX負載均衡的四種分配方式Nginx負載
- 配置apache和nginx的tomcat負載均衡ApacheNginxTomcat負載
- 負載均衡負載
- nginx實現兩臺服務負載均衡Nginx負載
- gRPC負載均衡(客戶端負載均衡)RPC負載客戶端
- gRPC負載均衡(自定義負載均衡策略)RPC負載
- 負載均衡的迷惑負載
- 六種實現負載均衡技術的方式負載
- Nginx 做負載均衡的幾種輪詢策略Nginx負載
- 使用nginx配置多個phpfastcgi負載均衡NginxPHPAST負載
- 配置 RAC 負載均衡與故障轉移負載
- Oracle RAC 客戶端負載均衡配置Oracle客戶端負載
- Tomcat5.5.12配置負載均衡Tomcat負載
- 負載均衡之Haproxy配置詳解(及httpd配置)負載httpd
- Apache +Tomcat的負載均衡與叢集配置ApacheTomcat負載
- HAProxy負載均衡器的安裝及配置負載
- Ribbon - 幾種自定義負載均衡策略負載
- NGINX 負載均衡Nginx負載
- WebSocket負載均衡Web負載