gpt4 book ai didi

java - 两个进程驻留在不同的 AP 服务器并引用相同的 boolean 标志。 ( Spring , java )

转载 作者:行者123 更新时间:2023-12-04 00:32:33 27 4
gpt4 key购买 nike

我正在使用 Spring Framework 开发 Web 应用程序。我有两个服务,它们将一些处理后的结果存储到数据库中的一个表 T 中。现在的逻辑是:

服务A

for all items:
result = func(item)
store result to Table T (with status = new)
is_running = False

服务 B

for some items:
if is_running == False:
result = func(item)
store result to Table T (with status = new)
else:
store result to Table T (with status = inprogress)

boolean 标志 is_running 将是服务 A 中的一个字段。

由于域服务器有微服务架构,服务 A 和服务 B 可能驻留在不同的 AP 服务器中。如何确保服务 A 和服务 B 引用相同的 is_running

是否可以使用 Spring's bean scope实现这个目标?

最佳答案

Sprin 是注入(inject)框架,本身没有这样的功能。

我将您的问题重写如下:如何实现跨机 boolean 标志?

有很多方法可以做到这一点。最直接的方法是:1. 通过数据库。您可以创建具有单列和单行的表,您将在其中存储 tor 标志。您甚至可以在访问表之前锁定表,这样进程间通信将得到保证。2. 使用提供此类功能的其他工具。例如,我会向您推荐 Haselcast。它是一个 Java 网格,除其他功能外,还具有在不同进程和机器之间共享状态的原子变量。顺便说一句,他们还有一个 Spring 集成。

关于java - 两个进程驻留在不同的 AP 服务器并引用相同的 boolean 标志。 ( Spring , java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45853546/

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