logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【橙子老哥】C# 实操高并发分布式缓存解决方案

答:先更新数据库,后删除缓存,也有可能会存在问题,A去读取缓存,发现没有把数据库的值读取到了,准备去写给缓存,B把数据库更新,同时还删了缓存,A更改数据库,问题很难复现,因为在B更新数据的之前,A要去读取完数据库,同时还没有写到缓存的时候,(这步难)B要去执行删除缓存,A在覆盖缓存。当然,如果是方案3,也可以玩出花,由于是先删除缓存,再更新数据库,我们再最后一步,和上面一样再来个删除,确保最后一步

文章图片
#c##分布式#缓存
【橙子老哥】C# 实操分布式事务解决方案

如果我们分布式的2个服务,库存其实早就已经没有了,每次都去预执行事务,最后又不提交回滚,对订单服务会有一个连带效应,它也要每次去预执行事务,特别是微服务中,拆的非常细,很浪费资源。,用户创建订单,订单数+1,库存数量-1,像这种场景,我们必须要确保数据的一致性,如果出现了订单加的多了,库存减的少了,那不就产生了超卖的严重生产事故?相比于2pc,它多了一个步骤,先把各各服务询问一下,准备好了没有,这

文章图片
#c##分布式#.netcore +1
到底了