什么类型的服务最适合作为 Reliable Actors?

What type of services are best fit as Reliable Actors?

我正在查看 Reliable Services 和 Reliable Actors。我浏览了在线文档,但我不清楚一些概念。

据我了解:

(1) Reliable Service 是一种编程模型,由无状态和有状态服务组成。 Reliable Service 提供高度可用的 类 集,称为:Reliable Collections。

(2) Reliable Actors 是一种编程模型,由使用单线程执行的有状态服务组成。 Reliable Actors 不能是无状态的。

我想知道什么时候使用:

(a) 无状态服务 (b) 有状态服务,以及 (c) 可靠的演员

什么类型的服务最适合作为单线程应用程序?

这将取决于您的应用程序及其结构我想您在这里谈论的是 Service Fabric 因为您只是放置了一个标签而不是问题本身。

对于可靠的服务,您有 2 个选项,它们是有状态服务,将其想象为一个想要保持客户端状态的网页(如果您习惯于 .net,则将其想象为具有亲和力的持久会话状态在您的应用程序上启用 cookie)基本上您正在做的事情是保留通过此服务提供的信息,以便您应该使用 reliable collections.

无状态服务是基本的 api 调用,它们将从服务获取响应或做一些工作,然后 return 返回响应。经典案例假设你有一个服务将计算 2 个数字的总和它不需要实现状态它会完成工作并返回响应但是这可以用于将状态存储在外部的服务服务本身。

Reliable Actors 建立在有状态的可靠服务之上,它们是 actor model 的实现,但建立在有状态的可靠服务之上。他们只是在有状态服务之上添加了一些实用程序。

您可以在以下位置阅读有关这些模型的服务结构实现的更多详细信息:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview