我正在评估Microsoft Orleans作为自定义分布式缓存(以及其他功能)的基础。
我能够使用MembershipTableGrain为评估目的创建一个不可靠的集群。所有工作都按照文档中的描述进行。
现在我计划使用内部部署服务器建立可靠的集群(Azure不是一个选项)。我似乎倾向于使用Relational Storage(SqlServer / ADO.net)成员资格提供程序
我的问题是:
如果Silo Membership数据库已关闭或无法访问(服务器中断,网络问题等),群集中孤岛的状态会发生什么变化?据我所知,就我所理解的奥尔良会员协议而言,我认为它会影响整个集群。
答案 0 :(得分:3)
你可以在这里阅读:
http://dotnet.github.io/orleans/Documentation/Runtime-Implementation-Details/Cluster-Management.html
基本上,所有现有的孤岛和客户端将继续按原样运行,并且不会受到影响,但新的孤岛或客户端将无法加入。此外,如果一个孤岛死亡,它将不会被排除在会员资格之外,因此在会员资格到期之前,某些比例的流量将会失败。
但只要没有其他人失败或加入,存储的失败/不可用就完全透明了。这是一个刻意的设计选择。