본문 바로가기

카테고리 없음

[ORACLE] LoadBalancing (오라클 로드밸런싱)

Client-Side Connect-Time Load Balancing

  • 이용 가능한 Listener리스트 중에서 랜덤하게 접속을 요청하는 것
  • tnsnames.oradp "LOAD_BALANCE=ON"으로 설정 가능하다
  • 설정이 OFF인 경우 List에 명시된 처음 Address로 먼저 접속을 시도하고 응답이 없을 경우 TCP TIMEOUT까지 대기한 후 다음 Address list로 접근을 시도한다.

 

Server-Side Connect-Time Load Balancing

  • 서버 측에서 설정하는 것으로서 동작방식은
    1. PMON 프로세스가 리스너에 Performance 정보와 함게 Service를 동적으로 등록한다
    2. 클라이언트가 Connections을 요청하면, 클라이언트의 tnsnames.ora 파일에 기술된 Protocol address중 하나를 랜덤 접속한다.
    3. 그리고 instance의 load양을 비교하여 작은쪽으로 balancing한다.
    4. 이를 위해서는 Service의 정보들이 PMON에 의해 Listener에 주기적으로 갱신해줘야 하는데 이를 위해서는 Instance가 Listener에 자동으로 등록되는 방식을 사용해야 한다. 이를 Dynamic Register 방식이라 한다.