Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

CRNP 개요

CRNP는 클러스터 재구성 이벤트를 생성하고 클러스터에 이러한 이벤트를 라우팅하여 원하는 클라이언트에게 전송하는 기법과 데몬을 제공합니다.

cl_apid 데몬은 클라이언트와 상호 작용하며Sun Cluster RGM(Resource Group Manager)은 클러스터 재구성 이벤트를 생성합니다. 이러한 데몬은 syseventd(1M)을 사용하여 각 로컬 노드에서 이벤트를 전송합니다. cl_apid 데몬은 원하는 클라이언트와 통신하기 위해 TCP/IP를 통한 XML(Extensible Markup Language)을 사용합니다.

다음 다이어그램은 CRNP 구성 요소 간의 이벤트 흐름에 대한 개요를 보여줍니다. 이 다이어그램에서 한 클라이언트는 클러스터 노드 2에서 실행되고 있고 다른 클라이언트는 클러스터의 일부가 아닌 컴퓨터에서 실행되고 있습니다.

그림 12–1 CRNP의 작동 방법

CRNP 작동 방법을 보여주는 흐름도

CRNP 프로토콜 개요

CRNP는 7개 계층의 표준 OSI (Open System Interconnect) 프로토콜 스택에서 응용 프로그램, 표현 및 세션 계층을 정의합니다. 전송 계층은 TCP여야 하며 네트워크 계층은 IP여야 합니다. CRNP는 데이터 링크 및 물리 계층과 무관합니다. CRNP에서 교환되는 모든 응용 프로그램 계층 메시지는 XML 1.0에 기초합니다.

CRNP 프로토콜의 의미

클라이언트는 등록 메시지(SC_CALLBACK_RG)를 서버에 보냄으로써 통신을 시작합니다. 이 등록 메시지는 클라이언트가 알림을 받으려는 이벤트 유형과 이벤트를 수신할 포트를 지정합니다. 등록 연결 및 지정한 포트의 소스 IP가 함께 콜백 주소를 구성합니다.

클러스터 내에서 클라이언트에 대한 해당 이벤트가 생성될 때마다 서버는 콜백 주소(IP 및 포트)의 클라이언트에 연결되어 이벤트(SC_EVENT)를 클라이언트에 전달합니다. 서버는 클러스터 자체 내에서 실행되며 높은 수준의 가용성을 가집니다. 서버는 클러스터가 재부트된 후에도 지속되는 저장소에 클라이언트 등록을 저장합니다.

클라이언트는 등록 메시지(REMOVE_CLIENT 메시지를 포함하는 SC_CALLBACK_RG)를 서버에 보내 등록을 취소합니다. 클라이언트는 SC_REPLY 메시지를 서버로부터 받은 후에 연결을 닫습니다.

다음 다이어그램은 클라이언트와 서버 간의 통신 흐름을 보여줍니다.

그림 12–2 클라이언트와 서버 간의 통신 흐름

클라이언트와 서버 간의 통신 흐름을 보여주는 흐름도