Azure Service Fabric可靠的actor与可靠的服务

时间:2016-04-06 06:49:51

标签: azure-service-fabric

我是Azure Service Fabric的新手,我遇到的最大问题是

  1. 我什么时候应该使用可靠的演员?请给我一些实际的例子。
  2. 我什么时候应该使用可靠的服务?请给我一些实际的例子。

2 个答案:

答案 0 :(得分:21)

看看差异:

  • 状态类比:演员处理对象图的单个实例。 服务通常具有多个呼叫者的状态。
  • 范围:演员不能单独工作,因为它们的大小(更像是对象)。
  • 生命周期:演员只有在使用时才有效,所以 更多将适合您的可用服务器资源
  • 并发:演员 强制执行单线程访问
  • 状态:演员只需修改 聚合,服务在集合上工作经常使用集合上的事务 对于ACID行为。
  • 沟通:演员通过沟通 平台提供的渠道。服务可能另有选择。
  • 访问:无法从外部访问群集中的参与者 默认。您可能需要一个提供访问权限的服务。

何时使用演员的示例:

  • 对于您的移动应用的每个用户,您可以拥有一个演员。
  • 对于每个向您的应用程序发送信息的恒温器,您可以拥有一个演员。
  • 对于您的电子商务网站的每个客户,您可以拥有一个购物篮演员。

在您可能习惯的情况下创建服务。创建可靠的服务,一次为多个用户提供服务。例如气象服务。

答案 1 :(得分:7)

我不是故意用一个词来定义自己,但只有在你确定你的问题符合演员设计模式时才使用可靠的演员。演员是一种设计模式,与许多Gang of Four设计模式非常相似。如果您的问题符合其中一种模式,请使用它。如果没有,最好不要试图将你的问题误解为错误的模式。

在Service Fabric中,Reliable Actors是Virtual Actor模式的一种实现。它有一定的操作规则和警告。这是一本很好的文档,可以了解Reliable Actor框架的工作原理以及它是否符合您的要求:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-platform/

Reliable Actors实际上只是一个构建在Reliable Services之上的框架,因此适用所有相同的扩展,分区和分发规则。