Azure service fabric Azure服务结构可靠参与者与可靠服务

Azure service fabric Azure服务结构可靠参与者与可靠服务,azure-service-fabric,Azure Service Fabric,我是Azure Service Fabric的新手,最大的问题是 我什么时候应该使用可靠的演员?请给我一些实际的例子 我什么时候应该使用可靠的服务?请给我一些实际的例子 看一看区别: 状态类比:参与者处理对象图的单个实例。 服务通常具有多个呼叫者的状态 范围:参与者不能单独工作,因为他们的大小(更像对象) 生命周期:参与者仅在使用时处于活动状态,因此 更多将适合您可用的服务器资源 并发性:参与者 强制单线程访问 状态:参与者只需修改 在集合上工作的服务通常使用集合上的事务 用于酸性行为 沟通:

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

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

  • 看一看区别:

    • 状态类比:参与者处理对象图的单个实例。 服务通常具有多个呼叫者的状态
    • 范围:参与者不能单独工作,因为他们的大小(更像对象)
    • 生命周期:参与者仅在使用时处于活动状态,因此 更多将适合您可用的服务器资源
    • 并发性:参与者 强制单线程访问
    • 状态:参与者只需修改 在集合上工作的服务通常使用集合上的事务 用于酸性行为
    • 沟通:演员通过 平台提供的频道。服务可能会选择其他方式
    • 访问:无法从外部通过 违约您可能需要提供访问权限的服务
    何时使用参与者的示例:

    • 对于移动应用程序的每个用户,您都可以有一个参与者
    • 对于每个向应用程序发送信息的恒温器,您可以有一个参与者
    • 对于您的电子商务站点的每个客户,您都可以有一个购物篮参与者

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

    我的意思不是用一个词来定义自己,而是只有当你确定你的问题符合参与者设计模式时,才使用可靠的参与者。演员是一种设计模式,很像“四人帮”中的许多设计模式。如果您的问题符合其中一种模式,请使用它。如果没有,最好不要把你的问题强加给错误的模式

    在服务结构中,可靠的参与者是虚拟参与者模式的实现。它有一定的操作规则和相应的注意事项。这是一个很好的文档,可以让您了解Reliable Actor框架是如何工作的,以及它是否满足您的需求:


    可靠的参与者实际上只是建立在可靠服务之上的一个框架,因此所有相同的扩展、分区和分发规则都适用。

    感谢这一点,所以假设我正在开发一个简单的图书目录在线应用程序,那么服务和参与者将是什么?如果没有更多的上下文,很难说。最终用户可以租用或购买书籍吗?商业案例是什么?当您拥有面向最终用户的功能时,每个最终用户可以有一个参与者。甚至可能是每本书,但这要看情况。关于规模的说明是不正确的。可靠的参与者是可靠服务之上的一个框架,因此它们的扩展方式完全相同。参与者和服务一样受到服务器资源的限制。关于您提供的示例,您可以用这种方式对这些问题进行建模。但是,如果您想回答有关数据的问题,例如:“向我展示西雅图的所有移动用户”或“让我将所有恒温器设置为25度或更高”,您需要一个单独的存储机制来查询。谢谢Vaclac,我已经更正了有关缩放的概述。关于演员的例子。是的,当你选择用代表单个对象(如恒温器)的演员来解决问题时,会对覆盖多个演员的数据产生影响。演员设计模式中会出现什么问题?很有趣,互联网上没有人能给出清晰、简洁的,关于为什么要使用服务而不是参与者的真实示例。我已经阅读了有关演员的文档和维基百科的文章,但我仍然感到非常困惑;DR当您需要高并发性和状态隔离时,您需要参与者。此外,如果您的服务管理的实体经历了复杂的状态机转换,每个分支都需要隔离,那么参与者非常适合