工作中遇到的问题

高并发环境中,车辆信息采用主表和关联表存储。更新时先取数据生成对象,再从其他服务拉取更新后持久化。当删除扩展属性数据时,并发操作可能使一台服务器删除失败,未移除对象属性,导致同步给其他服务的数据不一致。解决办法是先从对象移除属性再持久化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高并发环境下持久化的数据与同步给其他服务数据不一致

BG:车辆信息是用主表和关联表存储数据的,车辆主要信息在主表存储,扩展属性信息放在关键表中,车辆信息更新时候,会先从数据库取车辆数据生成车辆对象,然后从其他服务拉取车辆的最新数据更新车辆对象,在持久化到数据库

REASON: 当有车辆扩展属性数据删除时候,先执行从数据删除数据,从数据库删除成功后,将当前删除的属性从对象移除;并发更新时候,可能有同时删除属性数据情况,这时候会有一台服务器删除失败,删除失败则不会移除对象中的属性,同步给其他业务系统数据时,是直接发送当前对象数据,这时候会将已经删除的数据发送给其他服务

RESOLVE: 需要删除时,先从对象移除再执行持久化属性对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值