Orleans - 当系统存储出现故障或无法访问时会发生什么情况?

Orleans - What happens when system storage is down or inaccessible?

我正在评估 Microsoft Orleans 作为自定义分布式缓存(以及其他功能)的基础。

我能够使用 MembershipTableGrain 创建一个用于评估目的的不可靠集群。一切都按照文档中的描述工作。

现在我正计划使用本地服务器设置一个可靠的集群(Azure 不是一个选项)。我似乎倾向于使用 Relational Storage (SqlServer/ADO.net) Membership provider

我的问题是:

如果筒仓成员数据库已关闭或无法访问(服务器中断、网络问题等),集群内筒仓的状态会发生什么变化?据我了解奥尔良成员资格协议,我认为它会影响整个集群。

您可以在这里阅读:

http://dotnet.github.io/orleans/Documentation/Runtime-Implementation-Details/Cluster-Management.html

基本上,所有现有的孤岛和客户端都将保持原样,不会受到影响,但新的孤岛或客户端将无法加入。此外,如果筒仓死亡,它不会被排除在成员资格之外,因此在成员资格建立之前,部分流量将会失败。

但是只要没有其他人失败或加入,failures/unavailability 的存储是完全透明的。这是一个深思熟虑的设计选择。