若对数据库本身的访问是线程安全的,那个么我们如何确保冗余数据访问应用程序实例在Java中线程安全地工作?

若对数据库本身的访问是线程安全的,那个么我们如何确保冗余数据访问应用程序实例在Java中线程安全地工作?,java,cloud,microservices,distributed,Java,Cloud,Microservices,Distributed,在今天访问数据存储的云本地应用程序中,我们通常有许多相同程序的实例,我们希望成为可靠的数据源。我们如何确保这些应用程序提供有效的数据,而不管客户机请求是在属于不同jar文件的实例中处理的 例如: 我们有从银行账户提取金额的服务提款MoneyService的reduntant实例。我们如何确保这些情况不会错误地提取两次资金 PS如果问这类问题的地点不对,请通知我。我不明白你的意思。不同的jar文件与它有什么关系?为什么访问数据库是相关的?其他数据源(如文件系统或其他web系统)如何?当然,系统的答

在今天访问数据存储的云本地应用程序中,我们通常有许多相同程序的实例,我们希望成为可靠的数据源。我们如何确保这些应用程序提供有效的数据,而不管客户机请求是在属于不同jar文件的实例中处理的

例如:


我们有从银行账户提取金额的服务提款MoneyService的reduntant实例。我们如何确保这些情况不会错误地提取两次资金


PS如果问这类问题的地点不对,请通知我。

我不明白你的意思。不同的jar文件与它有什么关系?为什么访问数据库是相关的?其他数据源(如文件系统或其他web系统)如何?当然,系统的答案只是系统当前状态的快照。我们有从银行帐户提取金额的服务X的冗余实例。我们如何确保这些实例不会两次错误地提取资金?为什么要这样做?如果是web请求,则请求将转发到一个系统,并且仅转发到一个系统。如果是消息,则消息由一个系统处理,并且仅由一个系统处理(前提是消息系统和客户端配置正确)。对于(几乎)所有的系统,我们都可以提出这样的论点。嗯,那么在现实生活中,当我们必须获得一个外部锁时,有这样的用例吗?当然有。你为什么这么问?