调查Azure缓存我遇到了this article,其中说明了
如果指定了Co-located Role caching,则通过获取指定的虚拟机内存百分比来确定缓存大小。指定专用角色缓存时,虚拟机的所有可用内存都用于缓存。如果配置了两个角色实例,则使用虚拟机的组合内存。
但是,协同定位的缓存实例是特定的(可以访问,读写,只能由它运行的实例)或角色特定的(可以由角色中的任何实例访问,读写) ?
我找不到明确的答案......我确实发现如果你想让两个或更多角色访问同一个缓存,这个“缓存”本身就必须是一个专门的角色...
编辑1
示例场景:使用共址缓存的单个角色的3个实例(i1,i2和i3),每个实例都使用100mb缓存。如果i1写入缓存,那么,i2可以读取吗?我可以更改缓存的信息吗?
答案 0 :(得分:2)
协同定位缓存可用于部署中的任何实例。它只是意味着实例在与Web /辅助角色相同的主机上运行Cache。您只需要知道角色名称即可访问缓存。
Dedicated 与 Co-located 之间的区别在于可用于保持缓存的缓存和处理能力的内存。使用共存位置更便宜,但专用将提高性能(并可能成本),因为它唯一的工作是管理缓存。如果您使用专用缓存角色,则还具有灵活性,因为您可以为工作人员/ Web角色使用更大的VM大小,但缓存角色的VM大小更小(,反之亦然,具体取决于您的需求)
配置缓存时,您只需知道托管缓存群集的角色 - 更具体地说是角色名称。
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="[cache cluster role name]" />
</dataCacheClient>
</dataCacheClients>