兩種負載均衡的配置。

wei-xh發表於2010-07-09
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 編輯 ]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-667644/,如需轉載,請註明出處,否則將追究法律責任。

相關文章