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 -- 对在埃塞俄比亚配置文件中定义的其他提供程序实例的按名称引用。

默认的一致哈希 (函数是 Jenkins Hash) 用于确定在配置文件中定义分片 (的顺序,) 负责存储指定粒度的状态数据,然后将读/写/清除请求桥接到适当的基础提供程序来执行。

有关 Jenkins 哈希函数的详细信息,请参阅 http://en.wikipedia.org/wiki/Jenkins_hash 。

构造函数

ShardedStorageProvider()

默认构造函数。

属性

Log

此存储提供程序实例使用的记录器。

Name

此存储提供程序实例的名称。

方法

ClearStateAsync(String, GrainReference, IGrainState)

此存储提供程序的 Deleet/Clear 状态数据函数。

Close()

此存储提供程序的关闭函数。

HashFunction(String, GrainReference)

返回从输入粒度类型和 ID 值派生的哈希值。

Init(String, IProviderRuntime, IProviderConfiguration)

此存储提供程序的初始化函数。

ReadStateAsync(String, GrainReference, IGrainState)

此存储提供程序的读取状态数据函数。

WriteStateAsync(String, GrainReference, IGrainState)

为此存储提供程序写入状态数据函数。

适用于