当前位置: 首页 > 知识库问答 >
问题:

Akka persistent Actor的用例是什么?

公羊晟
2023-03-14

我对Akka坚持的适用性一团糟,坚持的演员,当我应该使用一个坚持的演员?

以给定购物应用程序的购物车模块为例,每个用户的购物车会话是否都是具有各自唯一persistenceID的持久参与者?

在实际应用中的可用性如何?查询端如何处理持久执行元的状态?当持久执行元在实际应用中并不有用时?

存储状态还是存储消息,是一回事吗?不是吗?有什么区别,什么时候我该用每一个?

有人能给我举几个例子吗?

共有1个答案

司马奇希
2023-03-14

这将是一个非常固执己见的问题和非常固执己见的答案。

假设您有一个任务管理系统,例如Jira或类似的系统。假设你有如下的演员布局:

  • 项目1
    • 票证1
    • 票2
    • 票3

    如果项目和票证实际上是持久的参与者,那么与标准方法(查询等)相比,您有以下好处:

    • 上下放置actor会恢复它的状态--因此不会再进行复杂的查询和映射到actor代码。此外,如果您的应用程序已关闭,重新启动它实质上会加载具有所有历史记录的数据(如下)
    • 执行元模型/Akka监管为您提供了额外的奖励--如果您的执行元已经死亡(即任务在尝试从外部集成获取数据时死亡),重新启动它将使其返回所有历史记录。
    • 跟踪历史记录已经在其中(您可以对数据建模,以便事件日志实际上包括所有更改数据,如用户和时间戳,以及旧值/新值)。这实际上适用于大量的业务领域--例如,贸易处理,其中每个贸易都必须存储自己的历史记录。
    • 另一个部分是查询--如果您的系统最终允许一致的设计,您可以将数据分散到项目中的所有票证上,并使用您想要的任何复杂查询,然后等待响应。

    有用性来自于应用程序的设计--有些非常适合(即多个单独的或松散耦合的实体),有些则不太适合(即您只想存储最后一组数据并生成一个预定义的报告)

 类似资料:
  • 批注类型配置 指示类声明一个或多个@bean方法,并可能由Spring容器处理以生成bean定义... @configuration类可以使用@import注释组成,与Spring XML中的工作方式相同。因为@Configuration对象是作为容器中的Spring bean管理的。

  • 问题内容: 我已经阅读了Python中的Class方法[什么用?但是这篇文章中的例子很复杂。我正在寻找一个清晰,简单,准系统的Python类方法用例的例子。 您能否列举一个小的特定示例用例,其中Python类方法将是完成此工作的正确工具? 问题答案: 初始化的辅助方法:

  • 本文向大家介绍什么是测试用例?相关面试题,主要包含被问及什么是测试用例?时的应答技巧和注意事项,需要的朋友参考一下 测试用例是执行测试的依据,把测试系统的操作1197步骤用文档的形式描述出来 (1)测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误,而精心设计的少量测试数据,包括测试输入、执行条件和预期的结果,实际结果 (2)测试用例是执行的最小实体。 (3)测试用例是测试工作的指导,是软件测试

  • 本文向大家介绍什么是用例内容?相关面试题,主要包含被问及什么是用例内容?时的应答技巧和注意事项,需要的朋友参考一下 主要分为三大部分:基本信息、用例主体、执行记录 基本信息:项目名称、功能模块名、用例设计人、测试执行人、功能特性、测试目的、预置条件、参考信息 用例主体:用例编号、测试对象、检查点、预置条件、用例说明、优先级、预期结果 执行记录:测试结果、缺陷编号、备注

  • 团队, 使用continueAsNew的确切用例是什么? 由于我们支持Cron附表进行定期活动,我不知道使用它的场景。 我们这样做是为了提供向后兼容性吗

  • 本文向大家介绍什么是用例优先级?相关面试题,主要包含被问及什么是用例优先级?时的应答技巧和注意事项,需要的朋友参考一下 ② 高:最常执行以保证功能性是稳定的,目标的行为和能力可以正常的工作,和重要的错误和边界被测试的测试用例的集合。 ③ 中:这是使给出的功能区域或功能变得更详细,检查功能的多数方面包括边界,错误和配置测试的测试用例。 ④ 低:这是通常最少被执行的测试用例。但这并不意味着这些测试都不