多个数据库一致性方案
2015-12-23 17:31:31 0 举报
多个数据库一致性方案是指在分布式系统中,为了保证多个数据库之间的数据一致性而采用的一种策略。常见的方案有主从复制、分布式事务和最终一致性等。主从复制是指将一个数据库的数据复制到其他数据库中,以保证数据的一致性;分布式事务是指对多个数据库进行操作时,保证所有操作都成功或者都失败;最终一致性是指在一段时间内,系统能够达到一致状态,即使存在短暂的数据不一致。这些方案都有其优缺点,需要根据具体情况进行选择和应用。
作者其他创作
大纲/内容
库存不足
更改库存
OMS进程事务
有记录
状态
OMS执行成功
插入库存请求记录(需要持久化)
更改请求记录状态
缺点:
失败
等待一定的周期
记录到stockQueue中,以便更新Stock和SP
库存服务事务
插入OMS数据库的库存请求记录
待确认
1
成功
事务中的其他数据操作
ID
可以支持多个进程上锁
查询库存请求记录
执行成功
1)虽然会有自动回收库存,但如果oms插入库 存请求后僵死,会导致回收进程被其卡住2)需要oms进程批量一次性插入本地的库存请 求表,对代码开发要求较高3)库存进程的库存请求记录需要持久化 4)OMS进程事务如果长时间没有成功,可能被强制关闭掉
库存进程强制失败
flush
库存充足
插入失败记录
没有记录
逆向恢复库存
OMS数据库
接受请求
ID唯一索引
优点:
...
判断库存
库存进程数据库
找到待确认的库存记录,进行判断
回传
多个一起flush,可能会失败,失败情况库存进程需要重试
库存更改
库存不足,关闭或者继续后续代码
注意,如果一个事务中有多个库存操作,那么库存请求记录的动作,应该批量一次性处理,否则会导致库存进程,待确认的动作等待OMS进程。这块还是有待优化,最好可以支持不用批量一次性操作
执行失败
发起库存操作请求
事务中后续操作是否成功
判断状态
返回oms的库存记录
0 条评论
下一页