Solaris OS용 Sun Cluster 개요

확장 가능 데이터 서비스

클러스터 네트워킹의 주 목표는 데이터 서비스의 확장성을 제공하는 것입니다. 확장성은 서비스에 대해 제공되는 로드가 증가함에 따라, 새로운 노드가 클러스터에 추가되고 새로운 서버 인스턴스가 실행되는 등의 작업 로드 증가 시 데이터 서비스가 일정한 응답 시간을 유지할 수 있음을 의미합니다. 확장 가능 데이터 서비스의 좋은 예는 웹 서비스입니다. 일반적으로, 확장 가능 데이터 서비스는 몇 가지의 인스턴스로 구성되며, 각 인스턴스는 클러스터의 서로 다른 노드에서 실행됩니다. 이러한 인스턴스는 함께 해당 서비스의 원격 클라이언트에 대해 하나의 서비스 역할을 하며 이 서비스의 기능을 구현합니다. 여러 httpd 데몬이 서로 다른 노드에서 실행되는 확장 가능 웹 서비스에서는 어떤 데몬이라도 클라이언트 요청을 처리할 수 있습니다. 요청에 서비스를 제공하는 데몬은 로드 균형 조정 정책에 의해 결정됩니다. 요청에 서비스를 제공한 특정 데몬이 아니라 서비스에서 제공될 클라이언트에 대한 응답이 표시되므로 단일 서비스 형태가 유지됩니다.

다음 그림은 확장 가능 서비스 구조를 보여줍니다.

그림 3–3 확장 가능 데이터 서비스 구조

그림: 여러 노드에서 실행 중인 데이터 서비스 요청

전역 인터페이스를 호스트하지 않는 노드(프록시 노드)에는 해당되는 루프백 인터페이스에 호스트된 공유 주소가 있습니다. 전역 인터페이스의 패킷은 구성 가능한 로드 균형 조정 정책에 따라 다른 클러스터 노드에 분산됩니다. 가능한 로드 균형 조정 정책은 다음 부분에 설명되어 있습니다.

로드 균형 조정 정책

로드 균형 조정은 응답 시간과 처리량의 두 가지 측면 모두에서 확장 가능 서비스의 성능을 향상시킵니다.

확장 가능 데이터 서비스에는 puresticky라는 두 가지 클래스가 있습니다. pure 서비스는 인스턴스가 클라이언트 요청에 응답할 수 있는 서비스입니다. sticky 서비스의 클러스터는 노드에 대한 요청에 대해 로드 균형을 조정합니다. 이러한 요청은 다른 인스턴스로 리디렉션되지 않습니다.

pure 서비스는 가중된 로드 균형 조정 정책을 사용합니다. 이 로드 균형 조정 정책에서 클라이언트 요청은 기본적으로 클러스터의 서버 인스턴스에서 일정하게 분산됩니다. 예를 들어, 각 노드의 가중치가 1인 3-노드 클러스터에서 각 노드는 해당 서비스 대신 클라이언트의 요청 중 1/3에 서비스를 제공합니다. 가중치는 scrgadm(1M) 명령 인터페이스나 SunPlex Manager GUI를 통해 언제라도 바꿀 수 있습니다.

sticky 서비스에는 보통 sticky와일드 카드 sticky의 두 가지 유형이 있습니다. Sticky 서비스는 여러 TCP 연결을 거쳐 동시 응용 프로그램 수준 세션이 in-state 메모리(응용 프로그램 세션 상태)를 공유할 수 있게 합니다.

보통 sticky 서비스는 클라이언트가 여러 개의 동시 TCP 연결 사이에 상태를 공유할 수 있게 합니다. 이 클라이언트가 단일 포트에서 수신하는 서버 인스턴스에 대해 “sticky”하다고 표현합니다. 클라이언트는 인스턴스가 남아 있고 액세스 가능한 경우에 모든 요청이 동일한 서버 인스턴스로 가도록 보장받으며, 로드 균형 조정 정책은 서비스가 온라인 상태에서는 변경되지 않습니다.

와일드 카드 sticky 서비스는 동적으로 할당된 포트 번호를 사용하지만, 여전히 클라이언트 요청이 같은 노드로 갈 것으로 예상합니다. 클라이언트는 동일한 IP 주소의 포트에 대해 “sticky wildcard”입니다.