AppFabric Cache崩溃

时间:2013-07-24 06:33:37

标签: appfabric appfabric-cache

情景:

编写了后端服务,定期检查数据库中的新行并将其插入AppFabric Cache。我们从2个多月以来一直在使用这种方法。

我们正在使用服务器机器将数据存储到不同区域的缓存中。我们没有使用任何机器群。它只有一台机器。 “默认”缓存区域已划分为3个不同环境的3个区域。每个环境都从本机访问指定缓存区域的缓存数据。

它工作正常,直到几天后发生以下情况。 我们得到以下例外。

ErrorCode:ERRCA0016:SubStatus ES0001:连接已终止,可能是由于服务器或网络问题或序列化对象大小大于服务器上的MaxBufferSize。请求的结果未知。

对缓存的后续访问会引发以下异常: ErrorCode ERRCA0017:SubStatus ES0001:存在暂时性故障。请稍后再试。

尝试4到5次后,我们得到以下异常。 ErrorCode ERRCA0018:SubStatus ES0001:请求超时。

毕竟,在异常之后访问缓存会抛出: ErrorCode ERRCA0005:SubStatus ES0001:引用的区域不存在。使用CreateRegion API修复错误。

查看第一个错误ErrorCode:ERRCA0016:SubStatus ES0001:检查要存储的序列化对象是否大于最大缓冲区大小。但在此之前,较大尺寸的对象被保留在缓存中。似乎这不是问题所在。

可能出现的确切问题是什么?

EDITED: 查看了Windows AppFabirc Cache的事件记录器日志。这就是我们在挖掘中发现的。 这些是获得的一些常见错误日志。

资料来源: 的 AppFabricCachingService.Failfast

Param: 外部存储的租约已过期:Microsoft.Fabric.Federation.ExternalRingStateStoreException:Microsoft.Fabric.Federation.SiteNode.PerformExternalRingStateStoreOperations中的Microsoft.Fabric.Data.ExternalStoreAuthority.UpdateNode(NodeInfo nodeInfo,TimeSpan timeout)的租约已过期(Boolean& canFormRing,Boolean isInsert,Boolean isJoining) 一般 : AppFabric缓存服务崩溃了。 外部存储的租约已过期:Microsoft.Fabric.Federation.ExternalRingStateStoreException: 租约已经过期 在Microsoft.Fabric.Data.ExternalStoreAuthority.UpdateNode(NodeInfo nodeInfo,TimeSpan timeout) 在Microsoft.Fabric.Federation.SiteNode.PerformExternalRingStateStoreOperations(Boolean& canFormRing,Boolean isInsert,Boolean isJoining)}

来源: 的 AppFabricCachingService.Crash

Param:

System.Runtime.CallbackException:异步回调抛出异常。 ---> System.IdentityModel.Tokens.SecurityTokenValidationException:该服务不允许您匿名登录。在.......

可能原因

在搜索上述事件日志错误时,发现这可能是由于以下问题引起的。缓存服务器是一个不同的服务器,SQL配置用于其数据库位于不同服务器上的服务器。因此,从SQL数据库获取缓存配置时,在缓存服务器和数据库服务器之间创建连接会有一些失败。因此,我们将缓存配置从SQL移动到XML。但我们仍然得到了错误。

ErrorCode ERRCA0017:SubStatus ES0001:暂时失败。请稍后再试。

ErrorCode ERRCA0005:SubStatus ES0001:引用的区域不存在。使用CreateRegion API修复错误。

经过一番挖掘,我们猜测问题可能就是这个问题。 每当没有授予访问AppFabric Cache的授予访问权限的计算机时,它会尝试进行一些尝试,然后appfabric停止工作。使用Grant powershell命令授予对缓存的访问权限后,该计算机现在可以访问缓存。将需要监视几天。

这可能是一个有效的理由吗?

0 个答案:

没有答案