StateProviderReplica インターフェイス

public interface StateProviderReplica

Service Fabric と対話するために、信頼性の高い状態プロバイダー レプリカが実装する必要があるメソッドを定義します。

メソッドの概要

修飾子と型 メソッドと説明
void abort()

状態プロバイダー レプリカを強制的に中止します。

発言:これは通常、ノードで永続的な障害が検出された場合、または Service Fabric が内部障害のためにレプリカのライフサイクルを確実に管理できない場合に発生します。

CompletableFuture<?> backupAsync(BackupOption option, Duration timeout, CancellationToken cancellationToken, BiFunction<BackupInfo, CancellationToken, CompletableFuture<Boolean>> backupCallback)

この ReliableStateManager によって管理されるすべての信頼できる状態の完全バックアップを実行します。

発言: FULL バックアップは 1 時間のタイムアウトで実行されます。 backupCallback によって返されるブール値は、サービスがバックアップ フォルダーを外部の場所に正常に移動できたかどうかを示します。 false が返された場合、BackupAsync は、backupCallback が false を返したことを示す関連するメッセージと共に UnsupportedOperationException をスローします。 また、バックアップは失敗とマークされます。

CompletableFuture<?> backupAsync(BiFunction<BackupInfo, CancellationToken, CompletableFuture<Boolean>> backupCallback)

この ReliableStateManager によって管理されるすべての信頼できる状態の完全バックアップを実行します。

発言: FULL バックアップは 1 時間のタイムアウトで実行されます。 backupCallback によって返されるブール値は、サービスがバックアップ フォルダーを外部の場所に正常に移動できたかどうかを示します。 false が返された場合、BackupAsync は、backupCallback が false を返したことを示す関連するメッセージと共に UnsupportedOperationException をスローします。 また、バックアップは失敗とマークされます。

CompletableFuture<?> changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

状態プロバイダー レプリカに、そのロールが変更されていることを通知します (たとえば、プライマリまたはセカンダリ)。

CompletableFuture<?> closeAsync(CancellationToken cancellationToken)

状態プロバイダーレプリカを正常に閉じます。

発言:これは一般に、レプリカのコードがアップグレード中、負荷分散のためにレプリカが移動中、または一時的な障害が検出された場合に発生します。

void initialize(StatefulServiceInitializationParameters initializationParameters)

サービスの初期化情報を使用して、状態プロバイダー レプリカを初期化します。

発言:初期化中に複雑な処理を行う必要はありません。 OpenAsync では、コストのかかる初期化または実行時間の長い初期化を行う必要があります。

CompletableFuture<Replicator> openAsync(ReplicaOpenMode openMode, StatefulServicePartition partition, CancellationToken cancellationToken)

使用する状態プロバイダー レプリカを開きます。

発言:拡張状態プロバイダーの初期化タスクは、現時点で開始できます。

CompletableFuture<?> restoreAsync(String backupFolderPath)

作成されたバックアップを復元します。

発言:安全な復元が実行されます。つまり、復元するデータが現在のレプリカの状態より前の場合にのみ復元が完了します。

CompletableFuture<?> restoreAsync(String backupFolderPath, RestorePolicy restorePolicy, Duration timeout, CancellationToken cancellationToken)

作成したバックアップを復元する

void setOnDataLossCallback(Function<CancellationToken, CompletableFuture<Boolean>> onDataLossAsync)

データ損失の疑いがある場合に呼び出される関数

メソッドの詳細

abort

public void abort()

状態プロバイダー レプリカを強制的に中止します。

発言:これは通常、ノードで永続的な障害が検出された場合、または Service Fabric が内部障害のためにレプリカのライフサイクルを確実に管理できない場合に発生します。

backupAsync

public CompletableFuture backupAsync(BackupOption option, Duration timeout, CancellationToken cancellationToken, BiFunction> backupCallback)

この ReliableStateManager によって管理されるすべての信頼できる状態の完全バックアップを実行します。

発言: FULL バックアップは 1 時間のタイムアウトで実行されます。 backupCallback によって返されるブール値は、サービスがバックアップ フォルダーを外部の場所に正常に移動できたかどうかを示します。 false が返された場合、BackupAsync は、backupCallback が false を返したことを示す関連するメッセージと共に UnsupportedOperationException をスローします。 また、バックアップは失敗とマークされます。

Parameters:

option - 実行するバックアップの種類。
timeout - この操作のタイムアウト。
cancellationToken - キャンセル要求を監視するためのトークン。
backupCallback - バックアップ フォルダーがローカルに作成され、ノードから移動する準備ができたときに呼び出されるコールバック

Returns:

非同期バックアップ操作を表すタスク。

backupAsync

public CompletableFuture backupAsync(BiFunction> backupCallback)

この ReliableStateManager によって管理されるすべての信頼できる状態の完全バックアップを実行します。

発言: FULL バックアップは 1 時間のタイムアウトで実行されます。 backupCallback によって返されるブール値は、サービスがバックアップ フォルダーを外部の場所に正常に移動できたかどうかを示します。 false が返された場合、BackupAsync は、backupCallback が false を返したことを示す関連するメッセージと共に UnsupportedOperationException をスローします。 また、バックアップは失敗とマークされます。

Parameters:

backupCallback - バックアップ フォルダーがローカルに作成され、ノードから移動する準備ができたときに呼び出されるコールバック

Returns:

非同期バックアップ操作を表すタスク。

changeRoleAsync

public CompletableFuture changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

状態プロバイダー レプリカに、そのロールが変更されていることを通知します (たとえば、プライマリまたはセカンダリ)。

Parameters:

newRole - プライマリやセカンダリなどの新しいレプリカ ロール。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

Returns:

非同期変更ロール操作を表すタスク。

closeAsync

public CompletableFuture closeAsync(CancellationToken cancellationToken)

状態プロバイダーレプリカを正常に閉じます。

発言:これは一般に、レプリカのコードがアップグレード中、負荷分散のためにレプリカが移動中、または一時的な障害が検出された場合に発生します。

Parameters:

cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

Returns:

非同期の閉じる操作を表すタスク。

initialize

public void initialize(StatefulServiceInitializationParameters initializationParameters)

サービスの初期化情報を使用して、状態プロバイダー レプリカを初期化します。

発言:初期化中に複雑な処理を行う必要はありません。 OpenAsync では、コストのかかる初期化または実行時間の長い初期化を行う必要があります。

Parameters:

initializationParameters - サービス名、パーティション ID、レプリカ ID、コード パッケージ情報などのサービス初期化情報。

openAsync

public CompletableFuture openAsync(ReplicaOpenMode openMode, StatefulServicePartition partition, CancellationToken cancellationToken)

使用する状態プロバイダー レプリカを開きます。

発言:拡張状態プロバイダーの初期化タスクは、現時点で開始できます。

Parameters:

openMode - これが新しいレプリカか既存のレプリカかを示します。
partition - このレプリカが属するパーティション。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

Returns:

非同期オープン操作を表すタスク。 結果には、パーティション内の他の状態プロバイダー レプリカ間で状態をレプリケートするレプリケーターが含まれます。

restoreAsync

public CompletableFuture restoreAsync(String backupFolderPath)

作成されたバックアップを復元します。

発言:安全な復元が実行されます。つまり、復元するデータが現在のレプリカの状態より前の場合にのみ復元が完了します。

Parameters:

backupFolderPath - レプリカの復元元のディレクトリ。 このパラメーターは、null、空、または空白のみを含めることはできません。 UNC パスも指定できます。

Returns:

非同期復元操作を表すタスク。

restoreAsync

public CompletableFuture restoreAsync(String backupFolderPath, RestorePolicy restorePolicy, Duration timeout, CancellationToken cancellationToken)

作成したバックアップを復元する

Parameters:

backupFolderPath - レプリカの復元元のディレクトリ。 このパラメーターは、null、空、または空白のみを含めることはできません。 UNC パスも指定できます。
restorePolicy - 復元ポリシー。
timeout - この操作のタイムアウト。
cancellationToken - キャンセル要求を監視するためのトークン。

Returns:

非同期復元操作を表すタスク。

setOnDataLossCallback

public void setOnDataLossCallback(Function> onDataLossAsync)

データ損失の疑いがある場合に呼び出される関数

Parameters:

onDataLossAsync - Todo。 データ損失の疑いのある処理の一部として呼び出される関数。 関数は CancellationToken を受け取り、イベントの非同期処理を表す CompletableFuture を返します。 true を返すと、レプリカの状態が復元されたことを示します。 False は、レプリカの状態が変更されていないことを示します。

適用対象