gpt4 book ai didi

java - 相同的应用程序部署在两个不同的服务器上,但从数据库中获取相同的数据。如何同步数据库数据

转载 作者:行者123 更新时间:2023-12-02 10:24:41 25 4
gpt4 key购买 nike

应用程序的主要工作是从数据库中获取数据并进行丰富。由于性能问题,我们将代码部署在两个不同的服务器(两个不同的 JVM)中。现在的问题是有时两个服务器都会获取相同的数据和进程,这会导致重复。现在的问题是如何停止从数据库获取相同的数据。我们尝试锁定数据库行和数据库中的所有状态列,以及服务器之间获取数据的延迟。然而,当两个服务器同时开始获取数据时,有时它们都不起作用。请帮忙解决这个问题

最佳答案

您不必锁定行。如果您运行固定数量的 jvm,则可以使用取模来获取每个 jvm 实例中的唯一行。让我们举个例子,假设您的表中有列 id ,它存储数字序列。您有两个 jvm 正在运行。让我们将 0 分配给第一个 jvm,将 1 分配给第二个 jvm。每次获取行时,都会对 id 列取模 2(jvm 实例数)。如果结果与分配给 jvm 的编号匹配,则处理它,否则跳过它。

关于java - 相同的应用程序部署在两个不同的服务器上,但从数据库中获取相同的数据。如何同步数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54063673/

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