Blog

Oracle Load Balance Nedir ?

Oracle Load Balance  tahmin edileceği üzere Yük Dağılımı yapmakta.  Bu özelliğin kullanılabilmesi için bir Rac Server ve en az 2 adet node gerekli.  tek makinede yük dağılımı yapmak zaten mümkün değil. Bir de Session problemi yaşıyorsanız Load Balance yapıldığında her iki node üzerinde ki sessionları da kontrol etmekte fayda var. Çünki Load balance bir kullanıcıya ait iki session varsa her birini farklı sunucular üzerine atıyabiliyor. Neyse bu gereksiz bir bilgi oldu.

Yük dağılımı iki yöntemle yapılır.

1-) Client Side (İstemci Tarafı )

Load Balancing açık olduğunda İstemci Rastgele olarak nodelardan birine bağlanır. Böylece hep ilk yazılmış noda bağlanılması engellenerek yük dağılımı yapılır. Tabi ki bunun için istemci tarafındaki Tns dosyanızda iki node da girilmiş ve LOAD_BALANCE = YES olmalıdır.

Örnek Tnsnames.ora dosyası

ORCL=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.3)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.4)(PORT = 1521))
      (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

2-) Server Side ( Sunucu üzerinde)

Oracle Rac ile birlikte Oracle Listener Servisi bir bağlantı kurulacağı zaman node’ların durumunu kontrol ederek  en bosta olan node üzerine sizi yönlendirir. Bunun için Listener Servisi yapılandırılırken Load Balance Enable edilir. Client Side a göre avantajları vardır.

Şu Adrese de bir göz atabilirsiniz. Bir de Burası var.

myrac.us.oracle.com =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myrac1.us.oracle.com)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = myrac2.us.oracle.com)(PORT = 1521))
    (LOAD_BALANCE = ON)
    (FAILOVER = OFF)
    (CONNECT_DATA =
      (SERVICE_NAME = myrc.us.oracle.com)
      (FAILOVER_MODE = (TYPE=SELECT)(METHOD=BASIC))
    )
  )