午行ベ缺氺™1
|
一个说和锁有关:
举例银行存钱和取钱两个业务。如果存钱同时又在取钱不加锁会出现脏读和幻读。还有可能出现数据错误。如果你卡里 有100块 。取钱100时候不加锁 同时存入1000按理说。最终卡里只有1000才对。这个过程可能会导致卡里只有0元。因为存钱时候先提交事务。
取钱过程后提交事务。那么取钱时候当时计算的结果是 ( 因为查询时候存钱业务并没有提交查询结果还是100 )100 - 100= 0卡里是0的最终可能导致最后卡里只有0元。这个时候要么就是幻读要么就是数据真的错误
一个说和队列有关
发布商品时候。同步到索引库不是第一时间同步。为了快速给用户反馈结果**数据时候。吧同步的消息加入队列处理。
一个说和秒杀有关
啥时候会用到秒杀功能?高并发时候。先吧商品加入缓存。然后以多线程的方式来处理。高并发更不能加普通锁了。10万个人强一个商品加锁那等到猴年马月才能给用户返回结果。高并发这个解释起来费劲。 这里可能有分布式锁机制。也有可能有限流机制。20个商品如果1千万个人同时去抢。第一个人抢到后按理说第二个人去抢时候应该是剩余19的。如果有限流机制第二个人到第100个人可能去抢时候是0。只到第101个人去抢时候才会剩余19【所以你去抢购时候。虽然你排在前面但是你不一定能抢购到】
要我说这不就是一个简单的多重排序而已。 当自己做一次时候。重新计算排序 直到满150次开始发送福利 先按照次数 在按照亲密度 或者时间或者等级等等。
最终排序结果第一位的那个送出去。有可能第一个的结果不满足然后在退给本人。
|
|