Sun Cluster 2.2 API 開発ガイド

Solstice HA 1.3 と Sun Cluster 2.x API の違い

Solstice HA の hareg(1M) のマニュアルページには、明示的な再構成シーケンスが定義されていました。たとえば、stop メソッドが呼び出されるのは start メソッドが呼び出される前であり、stop メソッドが呼び出されるときは start メソッドも最終的に呼び出されるなどです。

しかし、Sun Cluster 2.x の実装は Solstice HA モデルから変更されています。Sun Cluster 2.x の場合は特に、全体的な再構成シーケンスに過度に依存してはなりません。次のようなことが発生する可能性があります。

Solstice HA 1.3 と Sun Cluster 2.x 間の違いへの対処

この節では、API の違いに対処できるようにアプリケーションを調整する方法について説明します。

API 定義 (および、その実装の両方) は、最終的にメソッドのコールバックの機能が「呼び出された回数に依存しない」ことが必要です。つまり、何回も呼び出すことができ、さらに、その影響は 1 回呼び出したときと同じです。実際には、コールバックされるメソッドは、何回か前のメソッドの呼び出しですでに実際の作業が行われているときは、何もしないように設計されていなければなりません。具体的には、移動する論理ホストに作業を行うかどうかを判断するロジックがメソッドに必要です。このようなロジックがない場合、メソッドは戻るだけにすべきです。この例については、第 2 章「データサービスの例」 で説明します。

データサービスのコールバックの機能を呼び出し回数に依存させないことで、これらの API の実装の違いを最小限にすることができます。