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

如何保障事件的传送

群集中生成的事件具有一个全序,按照传送到每个客户机的顺序保存。 换句话说,如果群集中先生成事件 A,然后生成事件 B,那么客户机 X 将先接收事件 A, 然后接收事件 B。但是不会保存传送到所有客户机的事件的全序。 也就是说,客户机 Y 可以在客户机 X 接收到事件 A 之前接收事件 A 和事件 B。这样,速度慢的客户机将无法容纳传送到所有客户机的事件。

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

事件传送遵循“至少一次”的规则。 也就是说,允许服务器将同一个事件多次发送到一台客户机上。 这在服务器发生临时故障,恢复正常后无法判断客户机是否已接收到最新信息时特别有用。