2

调查 Azure 缓存我遇到了这篇文章,其中指出

当指定同位角色缓存时,缓存大小由虚拟机内存的指定百分比确定。指定专用角色缓存时,虚拟机的所有可用内存都用于缓存。如果配置了两个角色实例,则使用虚拟机的组合内存。

但是,同位缓存实例是特定的(只能由运行它的实例访问、读写)还是特定于角色的(可以由角色中的任何实例访问、读写)?

我找不到一个明确的答案......我确实发现如果你想让两个或多个角色访问同一个缓存,这个“缓存”本身必须是一个专用角色......

编辑 1
示例场景:使用同位缓存的单个角色的 3 个实例(i1、i2 和 i3),每个实例都有 100mb 缓存。如果 i1 写入缓存,那么 i2 可以读取它吗?i3 可以更改缓存的信息吗?

4

1 回答 1

2

共置缓存可用于部署中的任何实例。这只是意味着实例在与 web/worker 角色相同的主机上运行缓存。您只需要知道角色名称即可访问缓存。

DedicatedCo-located之间的区别在于可用于缓存的内存和可用于保持缓存的处理能力。使用 co-located 更便宜,但专用会提高性能(和潜在成本),因为它唯一的工作是管理缓存。如果您使用专用缓存角色也有灵活性,因为您可以为您的工作人员/Web 角色使用更大的 VM 大小,但为您的缓存角色使用更小的 VM 大小(反之亦然,具体取决于您的需要)。

配置缓存时,您只需要知道哪个角色正在托管缓存集群 - 更具体地说是角色名称。

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="[cache cluster role name]" />
  </dataCacheClient>
</dataCacheClients>
于 2013-02-28T14:41:11.107 回答