如何扩展相同服务类型的Azure Service Fabric Actors?

时间:2017-11-20 15:19:28

标签: c# azure azure-service-fabric

我是Azure Service Fabric的新手,我试图完全了解缩放的工作原理。我目前有一个Azure Service Fabric应用程序,它包含一个无状态的Reliable服务web api和一个有状态的Actor服务。

在本地调试时,我看到创建了一个包含5个节点的应用程序。 api在所有5个节点上创建,因为它的实例数为-1,并且创建了actor服务,其中一个节点上有一个主节点,另外两个节点上有两个副本。

web api将创建许多actor实例(但实际上并不知道将会有多少个)。每个人都有自己独特的状态数据,所有这些参与者都是在创建服务的主节点上创建的。

但这是如何规模的?最终,有太多的actor实例可能在该主节点上,那么我们如何才能扩展它呢? Azure会为我们这样做吗?我们需要某种经理服务吗?该管理器服务会做什么 - 在不同的节点上创建一个新的actor服务实例?创建一个新的应用程序实例或其他什么?

1 个答案:

答案 0 :(得分:0)

为了提供可扩展性和可靠性,Service Fabric会在整个群集中分配actor,并根据需要自动将它们从故障节点迁移到健康节点。分发,可伸缩性,可靠性和自动故障转移都是由于actor在一个名为Actor Service的有状态可靠服务中运行而提供的。

Actor分布在Actor Service的分区中,这些分区分布在Service Fabric集群中的节点上。每个服务分区都包含一组actor。 Service Fabric管理服务分区的分发和故障转移。

例如,将使用默认的actor分区放置将具有九个分区的actor服务部署到三个节点: enter image description here

参考 - Introduction to Service Fabric Reliable Actors