现有两个微服务:
用户服务.
用户数据字段
uid
allow_withdraw (1: 允许提现,0:禁止提现)
财务服务
财务系统数据字段
account (对应 用户.uid)
amount (余额)
现在提现功能,需要先判断 allow_withdraw,再判断余额是不是足够。
在 users-service
中加一个节点 /users/withdraw
执行的时候,
会先判断 allow_withdraw 状态,
再通过 HTTP 请求 finance-service
中的 /finance/amount
得到余额
再判断一下余额是否足够(问题就在这里,这里的判断是无法保证的)
有什么好的实现思路呢?
余额是否足够不是应该根据用户提现的金额或者设定固定的提现金额来判断嘛?为什么会无法保证。只要后台比对金额不一致或者超过就失败。