SIP(Session Initiation Protocol) 프록시 서버를 사용한 고가용성 및 워크로드 관리
SIP(Session Initiation Protocol) 고가용성 솔루션은 동일한 대화 상자에 속하는 모든 메시지를 동일한 컨테이너에서 처리한다고 가정합니다. 컨테이너에 오류가 발생하면 해당 컨테이너가 처리한 모든 세션이 해당 컨테이너 복제 도메인에 있는 다른 서버로 인계되어 즉시 활성화됩니다. 오류가 발생한 컨테이너의 세션에 속하는 모든 후속 메시지가 해당 세션을 책임지는 새 컨테이너로 전송됩니다.

고가용성은 다음을 관리합니다.
- 확장성 – 증가된 로드를 처리하기 위해 클러스터에 서버를 추가하는 기능.
- 로드 밸런스 – 일부 서버는 활용하지 않고 일부 서버에는 과부하가 발생하는 일이 없도록 클러스터에 있는 모든 서버에 로드를 분배하는 기능.
- 장애 복구 – 솔루션의 하나 이상의 컴포넌트에서 장애로부터 복구하는 기능.
SIP 고가용성 솔루션은 다음 컴포넌트를 사용합니다.
- SIP 컨테이너 - 모든 세션을 유지보수하고 모든 애플리케이션을 실행합니다.
- SIP 프록시 서버 - 많은 클라이언트 연결을 관리하고 올바른 SIP 컨테이너로 수신 메시지를 라우트하고 클라이언트 및 기타 도메인에 대해 아웃바운드 연결을 작성합니다.
- Network Dispatcher - 프록시 간의 라운드 로빈 및 클러스터에 대해 단일 IP를 제공합니다.
- 통합 클러스터 프레임워크(UCF) - SIP 컨테이너와 SIP 프록시 간에
라우팅 정보를 전달합니다. UCF를 사용하여 SIP 프록시는 로드가 가장 적은
SIP 컨테이너나 실패한 서버의 세션이 인계된 컨테이너로 메시지를
라우트합니다.참고: 통신량이 이동하는 동안 클러스터에 SIP 컨테이너를 추가할 경우, 시스템이 전체 클러스터에서 자원을 모두 사용하지 않고 컨테이너의 부트스트랩 프로세스를 완료할 수 있도록 한 번에 하나의 컨테이너를 클러스터에 추가해야 합니다. 한 번에 하나의 컨테이너를 추가하는 경우, 클러스터의 모든 컨테이너와는 대조적으로 추가된 컨테이너만 부트스트랩 프로세스를 완료합니다.
SIP 프록시에서 장애 복구를 관리하는 방법:
- 서버에 장애가 발생했을 때 다른 컨테이너가 실패한 세션을 활성화할 수 있도록 SIP 컨테이너 간에 세션 데이터를 복제합니다.
- SIP 세션에 타이머가 연관되어 있을 수 있으므로 장애가 발견된 즉시 나머지 서버에서 실패한 세션을 활성화합니다.
- 실패한 세션에 속한 수신 메시지를 해당 세션을 처리하는 새 서버로 라우트합니다.