我正在开发一个带有微服务的分布式系统,只有一个只写数据库,其余的在逻辑复制中只读
我的挑战是保持数据的一致性,尤其是客户账户中的余额
由于我的业务模型必然需要微服务来对数据库表进行更新,并且根据情况,将余额添加到客户的帐户中。
我的问题是,如果客户执行一些减少其帐户余额的过程,同时某些微服务也在操纵他的帐户余额,如何保证客户余额的一致性
我考虑过在数据库中创建一个事务,并在系统完成处理作为该过程一部分的其他表中的更新时立即使用该事务来更改其余额,因为这会在事务未完成时阻止读取该客户的余额。完了,这是最正确的方法吗?