Azure service fabric 所有群集节点上的有状态服务

Azure service fabric 所有群集节点上的有状态服务,azure-service-fabric,Azure Service Fabric,这似乎是一个显而易见的问题,但答案暗指我。我如何表示希望在集群中的所有节点上都有一个有状态服务的实例?对于无状态服务,只需使用-1作为实例计数,但对于有状态服务则不支持 我正在将我现有的无状态webapi服务移动到有状态,以便将我对Redis缓存的使用替换为可靠的字典。因为它是一个在外部可见的服务,并且在azure负载平衡器前面,所以我需要在所有实例上运行该服务 我缺少什么?因为它是有状态的,所以在集群中只会为一个节点/VM分配一个主副本和两个辅助副本。主服务器将维护对可靠字典/队列的读/写操作

这似乎是一个显而易见的问题,但答案暗指我。我如何表示希望在集群中的所有节点上都有一个有状态服务的实例?对于无状态服务,只需使用-1作为实例计数,但对于有状态服务则不支持

我正在将我现有的无状态webapi服务移动到有状态,以便将我对Redis缓存的使用替换为可靠的字典。因为它是一个在外部可见的服务,并且在azure负载平衡器前面,所以我需要在所有实例上运行该服务


我缺少什么?

因为它是有状态的,所以在集群中只会为一个节点/VM分配一个主副本和两个辅助副本。主服务器将维护对可靠字典/队列的读/写操作,并更新副本(事务)。这就是它如何保持数据的可靠性、可用性和持久性。然后,您可以从有状态服务调用无状态服务来处理这些数据。并且您可以让所有stateles服务(部署在集群中的所有节点/VM中)执行/处理这些数据。

由于它是有状态的,因此只有一个节点/VM在集群中被分配一个主副本和两个辅助副本。主服务器将维护对可靠字典/队列的读/写操作,并更新副本(事务)。这就是它如何保持数据的可靠性、可用性和持久性。然后,您可以从有状态服务调用无状态服务来处理这些数据。您可以让所有stateles服务(部署在集群中的所有节点/VM中)执行/处理这些数据。

无状态实例可以有-1,因为它们可以在不影响状态的情况下创建和销毁

有状态服务的分区数不是动态的。它决定了数据在节点间的分片方式。一旦您选择使用X分区,您就不能在不亲自处理对状态的影响的情况下更改该数字

替代方法:

您可以添加一个无状态服务(作为网关),在所有节点上运行该服务,并从它们调用statefull服务的分区


对有状态服务进行分区将提高可伸缩性。例如,您可以在用户组/租户/订阅级别等上对实例进行分区。

无状态实例可以具有-1,因为它们可以在不影响状态的情况下创建和销毁

有状态服务的分区数不是动态的。它决定了数据在节点间的分片方式。一旦您选择使用X分区,您就不能在不亲自处理对状态的影响的情况下更改该数字

替代方法:

您可以添加一个无状态服务(作为网关),在所有节点上运行该服务,并从它们调用statefull服务的分区


对有状态服务进行分区将提高可伸缩性。例如,您可以根据用户组/租户/订阅级别等进行分区。

好的,我在这里看到了设计的种子。我想如果我把你的想法转过来,它会奏效的。也就是说:我继续我的无状态服务,并创建一个新的有状态服务,它本质上就是我的数据存储。我从我的无状态服务调用它来读/写我希望本地持久化/共享的数据。对我来说,这感觉太过分了,因为我基本上只是将一些可靠的字典读/写调用包装到一个有状态服务中,该服务只存在于为无状态服务提供数据的服务中,但它应该可以工作,并允许be在所有节点上都有我的无状态WebApi。好的,我在这里看到了设计的种子。我想如果我把你的想法转过来,它会奏效的。也就是说:我继续我的无状态服务,并创建一个新的有状态服务,它本质上就是我的数据存储。我从我的无状态服务调用它来读/写我希望本地持久化/共享的数据。对我来说,这感觉太过分了,因为我基本上只是将一些可靠的字典读/写调用包装在一个有状态服务中,该服务只存在于为无状态服务提供数据的服务中,但它应该可以工作,并允许be在所有节点上都有我的无状态WebApi。