gpt4 book ai didi

java - 保证并发 Web 服务调用之间数据一致性的最佳执行方法?

转载 作者:行者123 更新时间:2023-12-02 08:38:30 27 4
gpt4 key购买 nike

多个客户端同时访问在 Glassfish 或其他应用程序服务器上运行的 JAX-JWS Web 服务。持久性由 Hibernate 或 OpenJPA 等提供。数据库是Microsoft SQL Server 2005。

该服务需要一些输入参数,发生一些“魔法”,然后返回序列中下一个可用值的基本转换版本,特定序列和转换由输入确定。执行转换的“魔力”取决于输入参数和各种数据库表(描述输入参数、转换、从中获取下一个基值的序列以及特定序列的已提供值的列表之间的关系) )。不确定这是否可以全部包含在存储过程中(可能),但也不确定客户端是否需要它。

在保持性能的同时确保一致性(即每个值都是唯一的并且值按顺序使用,值没有机会在不存储在数据库中的情况下到达客户端)的最佳方法是什么?

最佳答案

如果没有完整的描述(表模式等),很难提供完整的答案,但是在这里给出我对其工作原理的最佳猜测,我想说你需要围绕你的“魔法”进行事务,这标志着返回之前使用的序列中的下一个值。如果您想重复使用序列号,那么您可以稍后取消标记它们(例如,如果用户随后取消他们正在执行的操作),或者您可以将它们视为丢失。

一个警告是,您希望事务尽可能短且尽可能快,特别是如果这是一个高吞吐量系统。否则,您的序列表可能很快就会成为瓶颈。分析该流程并查看最短的事务窗口是什么,该窗口仍然可以让您确保序列不被重用并使用它。

关于java - 保证并发 Web 服务调用之间数据一致性的最佳执行方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/512595/

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