Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

CRNP 概述

CRNP 提供了相应的机制和守护程序,可以生成群集重配置事件并通过群集将它们路由到感兴趣的客户机。

cl_apid 守护程序与客户机交互。 Sun Cluster 资源组管理器 (RGM) 生成群集重配置事件。 这些守护程序使用 syseventd( 1M) 传输各个本地节点上的事件。 cl_apid 守护程序使用可扩展标记语言 (XML) 通过 TCP/IP 与感兴趣的客户机进行通信。

下图概括了 CRNP 组件之间的事件流程。 在该图中,一台客户机在群集节点 2 上运行,另一台客户机在不属于该群集的计算机上运行。

图形 12–1 CRNP 的工作原理

显示 CRNP 的工作原理的流程图

CRNP 协议概述

CRNP 定义了标准七层开放式系统互联 (OSI) 协议栈的应用程序层、表示层和会话层。 传输层必须是传输控制协议 (TCP),网络层必须是网间协议 (IP)。 CRNP 独立于数据链路层和物理层上。 在 CRNP 中交换的所有应用层消息都基于 XML 1.0。

CRNP 协议的语义

客户机通过向服务器发送一条登记消息 (SC_CALLBACK_RG) 来启动通信。 此登记信息指定客户机要接收其通知的事件类型,还指定事件能够被传输到的端口。 登记连接的源 IP 和指定的端口一起形成回叫地址。

当群集中生成某台客户机感兴趣的事件时,服务器将通过回叫地址(IP 地址和端口号)联系该客户机,并将事件 (SC_EVENT) 传送给该客户机。 在群集中运行的服务器具有高度的可用性。 服务器将客户机登记存储在存储器中,即使重新引导群集,登记信息也会保留在存储器中。

客户机通过向服务器发送一条登记消息(SC_CALLBACK_RG,包含 REMOVE_CLIENT 消息)来撤销登记。 客户机接收到来自服务器的 SC_REPLY 消息后,将关闭连接。

下图显示了客户机和服务器之间的通信流程。

图形 12–2 客户机和服务器之间的通信流程

显示客户机与服务器之间的通信流的流程图