CRNP는 7개 계층의 표준 OSI (Open System Interconnect) 프로토콜 스택에서 응용 프로그램, 표현 및 세션 계층을 정의합니다. 전송 계층은 TCP여야 하며 네트워크 계층은 IP여야 합니다. CRNP는 데이터 링크 및 물리 계층과 무관합니다. CRNP에서 교환되는 모든 응용 프로그램 계층 메시지는 XML 1.0에 기초합니다.
CRNP는 클러스터 재구성 이벤트를 생성하고 클러스터를 통해 이벤트를 라우팅하며 원하는 클라이언트에게 보내는 기법과 데몬을 제공합니다.
cl_apid 데몬은 클라이언트와 상호 작용하며Sun Cluster RGM(Resource Group Manager)은 클러스터 재구성 이벤트를 생성합니다. 이 데몬은 syseventd를 사용하여 각 로컬 노드에서 이벤트를 전송합니다. cl_apid 데몬은 TCP/IP를 통한 XML(Extensible Markup Language)을 사용하여 원하는 클라이언트와 통신합니다.
다음 다이어그램은 CRNP 구성 요소 간의 이벤트 흐름을 보여줍니다. 이 다이어그램에서 한 클라이언트는 클러스터 노드 2에서 실행되고 있고 다른 클라이언트는 클러스터의 일부가 아닌 컴퓨터에서 실행되고 있습니다.
클라이언트는 등록 메시지(SC_CALLBACK_RG)를 서버에 보내 통신을 시작합니다. 이 등록 메시지는 클라이언트가 알림을 받으려는 이벤트 유형과 이벤트를 수신할 포트를 지정합니다. 등록 연결 및 지정한 포트의 소스 IP가 함께 콜백 주소를 구성합니다.
클러스터 내에서 클라이언트에 대한 해당 이벤트가 생성될 때마다 서버는 콜백 주소(IP 및 포트)의 클라이언트에 연결되어 이벤트(SC_EVENT)를 클라이언트에 전달합니다. 서버는 클러스터 자체 내에서 실행되며 높은 수준의 가용성을 가집니다. 서버는 클러스터가 재부트된 후에도 지속되는 저장소에 클라이언트 등록을 저장합니다.
클라이언트는 등록 메시지(REMOVE_CLIENT 메시지를 포함하는 SC_CALLBACK_RG)를 서버에 보내 등록을 취소합니다. 클라이언트는 SC_REPLY 메시지를 서버로부터 받은 후에 연결을 닫습니다.
다음 다이어그램은 클라이언트와 서버 간의 통신 흐름을 보여줍니다.
CRNP는 다음 표에 설명된 세 가지 유형의 XML 기반 메시지를 사용합니다. 이러한 메시지 유형에 대해서는 나중에 자세히 설명됩니다.
CRNP 메시지 유형 |
설명 |
---|---|
SC_CALLBACK_REG |
이 메시지는ADD_CLIENT, REMOVE_CLIENT , ADD_EVENTS 및 REMOVE_EVENTS의 네 가지 형식을 가집니다. 이러한 형식은 각각 다음 정보를 포함합니다.
또한 ADD_CLIENT, ADD_EVENTS 및 REMOVE_EVENTS 형식은 각각 다음 정보를 포함하는 바운드되지 않은 이벤트 유형 목록을 포함합니다.
이벤트 클래스와 이벤트 하위 클래스가 함께 고유한 “이벤트 유형”을 정의합니다. SC_CALLBACK_REG의 클래스가 생성되는 문서 유형 정의(DTD)는 SC_CALLBACK_REG입니다. 이 DTD에 대한 자세한 내용은 부록 F, CRNP용 문서 유형 정의를 참조하십시오. |
SC_REPLY |
이 메시지에는 다음 정보가 포함되어 있습니다.
SC_REPLY의 클래스가 생성되는 DTD는 SC_REPLY입니다. 이 DTD에 대한 자세한 내용은 부록 F, CRNP용 문서 유형 정의를 참조하십시오. |
SC_EVENT |
이 메시지에는 다음 정보가 포함되어 있습니다. SC_EVENT의 값은 입력할 수 없습니다. SC_EVENT의 클래스가 생성되는 DTD는 SC_EVENT입니다. 이 DTD에 대한 자세한 내용은 부록 F, CRNP용 문서 유형 정의를 참조하십시오. |