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

如何保障事件的传送

在群集中有一个事件生成的总排序,它是按照传送给每个客户机的顺序保留的。换言之,如果事件 A 在群集中比事件 B 生成得早,则客户机 X 将先收到事件 A,然后再收到事件 B。但是,保留传送给所有客户机的事件的总排序。也就是说,客户机 Y 可以在客户机 X 接收到事件 A 之前接收事件 A 和事件 B。这样,速度慢的客户机将无法容纳传送到所有客户机的事件。

服务器传送的所有事件(子类的第一个事件和出现服务器错误后的事件除外)都是作为响应群集实际生成的事件而发生的,除非服务器遇到错误,导致丢失群集生成的事件。这种情况下,服务器将为表示系统当前状态的每个事件类型生成一个事件。每个事件都被发送到注册为对该事件类型感兴趣的客户机。

事件传送遵循“至少一次”的规则。即,服务器可以向客户机多次发送同一个事件。当服务器暂时出现故障,然后从故障中恢复后无法确定客户机是否已收到最新信息的情况下,这种宽容的规则是比要的。