現在、Grails 2.4.4 でクレジット取引システムを開発しています。
ユーザーのクレジットの量を保持するクレジット モデルがあります。
class Credit {
BigDecimal amount
User user
}
問題は、ユーザーが取引するときに、金額が常に引き落とされたり貸方に記入されたりすることです。
整合性を維持するために悲観的ロックを試みました。しかし、そのユーザーは一度に 1 つのトランザクションしか実行できないため、トランザクションのボトルネックであることに気付きました。
これに代わるものはありますか?使用できる設計パターンはありますか? 私たちは、モデルを変更したり、他のアプローチを採用したりすることにオープンです。