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

AKKA执行元与数据库操作

田巴英
2023-03-14

我试图弄清楚如何在使用actor系统时最好地处理数据库操作。事实上,数据库操作正在阻塞,而我们试图在Akka中不阻塞。

我在主文档中提到了一种处理方法,那就是在路由器后面创建一个参与者池,可能是在一个单独的executionContext上,它将处理数据库访问。

共有1个答案

贡烨烁
2023-03-14

1-databaseActors是否始终保持连接打开?

Akka Actor是有状态的,也就是说,您可以安全地将状态(在本例中为DB连接)存储在Actor中。您可以编写自己的连接管理逻辑,也可以使用数据库驱动程序提供的连接管理逻辑。

2-它如何与许多数据库提供的连接池一起工作?

说到Akka调度员,我不认为有一刀切。更像是一门艺术。我唯一的建议是确保您没有阻止代码中的任何地方。

 类似资料:
  • 以下语句都可以直接在InfluxDB的Web管理界面中调用 # 创建数据库 CREATE DATABASE "db_name" # 显示所有数据库 SHOW DATABASES # 删除数据库 DROP DATABASE "db_name" # 使用数据库 USE mydb # 显示该数据库中的表 SHOW MEASUREMENTS # 创建表 # 直接在插入数据的时候指定表名(weathe

  • 我遇到了在多个请求下扩展应用程序的问题。 每个请求都向一个参与者发送一个ask,然后生成其他参与者。这是很好的,但是,在负载下(一次5个以上的询问),会花费大量的时间将消息传递给目标执行元。最初的设计是均匀地隔离请求,但这造成了一个瓶颈。示例: 在此图片中,是在查询计划解析程序之后发送的。但是,当执行元接收到此消息时有一个多秒的间隔。这只在负载(5+请求/秒)下才会出现。我最初以为这是一个饥饿的问

  • 问题内容: 实施等待栏或进度栏 在我的Apex 5.0应用程序中,我有一个SQL Update,它花了很长时间来处理,并且我想实现一个指示器以表明它仍在运行,以便用户不会再次启动该操作。 进度条可以解决问题,有人可以建议这样做吗? (无法使用插件) 问题答案: 只需将“提交”按钮的动作更改为“动态动作”即可 在动力作用选择 点击 的 事件 。选择 按钮 的 选择类型 和选择你的提交按钮的名称 按钮

  • 我正在为Akka应用程序搭建测试,我希望在其中向测试类注入一个actor: 我不愿介绍现阶段键入的Akka;为了简单起见,最好不要更改目标参与者,以便在启动后将其值参数作为消息接收,否则这是一个临时的解决方案。

  • 数据库的操作是每个phpweb框架的核心功能,我们提供数据库数据库的标准调用模式为: 你可以执行严格模式,也就是左边的那条线,Controller->Service->Dao->Model->DB,也可以走简单模式 Controller->Model->DB。个人根据自己的需求,走标准麻烦些(几乎所有的机构和系统都是这样^_^), 但是扩展性会好些,但是使用简单模式开发效率就会高些,性能会好些,但