次の方法で共有


ShardedStorageProvider クラス

定義

他の多くのストレージ プロバイダー間で共有されるグレイン状態データを書き込むシンプルなストレージ プロバイダー。

public class ShardedStorageProvider : Orleans.Storage.IStorageProvider
type ShardedStorageProvider = class
    interface IStorageProvider
    interface IProvider
Public Class ShardedStorageProvider
Implements IStorageProvider
継承
ShardedStorageProvider
実装

OrleansConfiguration.xml ファイル内のこのストレージ プロバイダーの構成例:

<OrleansConfiguration xmlns="urn:orleans">
  <Globals>
    <StorageProviders>
      <Provider Type="Orleans.Storage.AzureTableStorage" Name="AzureStore1" DataConnectionString="..." />
      <Provider Type="Orleans.Storage.AzureTableStorage" Name="AzureStore2" DataConnectionString="..." />
      <Provider Type="Orleans.Storage.ShardedStorageProvider" Name="ShardedAzureStore">
        <Provider Name="AzureStore1"/>
        <Provider Name="AzureStore2"/>
      </Provider>
    </StorageProviders>

注釈

必須の入れ子になった構成要素: Provider -- thios 構成ファイルで elsewheer が定義されている他のプロバイダー インスタンスへの名前による参照。

一貫性のあるハッシュ関数 (既定は Jenkins Hash) を使用して、(構成ファイルで定義されている順序で) どのシャードが指定されたグレインの状態データを格納するかを決定し、読み取り/書き込み/クリア要求が実行のために適切な基になるプロバイダーにブリッジされます。

Jenkins ハッシュ関数の詳細については、以下を参照してください http://en.wikipedia.org/wiki/Jenkins_hash 。

コンストラクター

ShardedStorageProvider()

既定のコンストラクターです。

プロパティ

Log

このストレージ プロバイダー インスタンスで使用されるロガー。

Name

このストレージ プロバイダー インスタンスの名前。

メソッド

ClearStateAsync(String, GrainReference, IGrainState)

このストレージ プロバイダーの Deleet/Clear state data 関数。

Close()

このストレージ プロバイダーのシャットダウン機能。

HashFunction(String, GrainReference)

入力グレイン型と id 値から派生したハッシュ値を返します。

Init(String, IProviderRuntime, IProviderConfiguration)

このストレージ プロバイダーの初期化関数。

ReadStateAsync(String, GrainReference, IGrainState)

このストレージ プロバイダーの読み取り状態データ関数。

WriteStateAsync(String, GrainReference, IGrainState)

このストレージ プロバイダーの状態データ関数を書き込みます。

適用対象