如何使用Java在mysql中同时处理事务?

时间:2018-10-19 07:16:38

标签: java mysql transactions

具有负责充值手机号码的API。要先使用充值API,用户应先注册,然后在该阶段为用户分配一些信用(BALANCE)。

使用手机号码和充值金额调用API时,该金额将从特定用户的帐户余额中扣除(更新余额)。

问题是当用户充值X手机并再次充值Y手机时。

使用JAVA和MySQL(数据库)处理此类事务的最佳方法是什么。

1 个答案:

答案 0 :(得分:0)

您有不同的方法来实现这一目标。

  • 我认为最简单的方法是使用乐观的眼光:https://www.baeldung.com/jpa-optimistic-locking
  • 其他更复杂的方法是使用Actor。它可能涉及应用程序架构的变化和要使用的新框架,但绝对可以带来收益。 Actor接收事件(例如BalanceUpdate),并确保按顺序处理所有消息,每个用户可以有一个Actor,并且使所有与用户相关的消息都扎根到他的Actor上。检查Akka或Vert.X之类的框架