gpt4 book ai didi

playframework - Play Framework : Impact of Jobs on the stateless model

转载 作者:行者123 更新时间:2023-12-04 02:06:03 26 4
gpt4 key购买 nike

Play 框架的一大优点是它是完全无状态的,并且只面向请求/响应。这真的很好,因为它允许我将我的应用程序部署到云中并扩展我的负载均衡器后面的 Play 实例的数量,而不必担心状态( session )复制......

然而,最近我需要在 HTTP 请求之外执行一些应用程序逻辑,并发现 Play 可以定义完全由框架管理的作业。听起来很棒,但它提出了一个问题:这些作业如何适应 Play 使用的无状态模型?

假设我有一个需要每小时运行一次的维护任务,我为此定义了一个计划作业。如果我随后在负载均衡器后面部署多个 Play 实例,该作业是否会在每个实例上同时启动?如果是这样,处理需要“独占”运行的作业的好方法是什么?

我正在考虑在非集群服务器上创建一个新的 Play 实例,重新使用现有(集群)实例的 JPA 模型(从而连接到同一个数据库)。这个新实例将只包含维护作业,并且由于它托管在非集群服务器上,因此不存在同时运行作业的风险。同时,这将允许我保持我现有的集群实例完全无状态并且易于托管/负载平衡。这会是一个好方法吗?

最佳答案

我也建议将工作集群化。您可以在数据库中设置一个信号量以确保只有一个作业正在运行。
另一个想法是查看将包含在 Play 2.0 中的 Akka-Framework。我认为它具有处理此问题的内置机制,但我不确定。我没有使用 akka 的经验。

关于playframework - Play Framework : Impact of Jobs on the stateless model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com