睡到下辈子 level
获赞
108
粉丝
10
关注
5
看过 TA
771
门头沟学院
2024
Java
IP属地:江苏
暂未填写个人简介
私信
关注
2023-10-20 13:11
门头沟学院 Java
柠檬水和柠檬:表面上:三方保护学生 实际上:三方保护企业😁
0 点赞 评论 收藏
分享
2023-10-10 21:05
门头沟学院 Java
0 点赞 评论 收藏
分享
2023-05-19 19:50
门头沟学院 Java
HappyCower:什么岗位啊 我好像被调剂到了营业网点业务(营销服务)😰
投递中国银行等公司10个岗位
0 点赞 评论 收藏
分享
2023-05-13 14:26
门头沟学院 Java
SovietPower✨:(秒杀问题中的一个方向,不一定是面试官真问的) 订单系统 和 商品库存系统 可能不在一个数据库或一个服务器上,不能用数据库事务完成,你必须自己保证两个系统的一致性,也就是要么订单创建成功、库存扣减也成功,要么两者都失败。如果库存扣完了,但订单创建失败,那你要保证库存加回来、且订单一定不会创建成功(至少之后要删掉它)(因为要及时响应用户,一直等订单服务响应是不可能的)。这个是典型的分布式事务问题。 难点在于,如果请求订单服务超时(不是直接返回插入失败),服务器短时间没法知道请求是失败了(订单不会创建成功),还是请求没有失败、只是被延迟了(订单之后又成功更新了)。 最简单的方法应该是,服务器重试几次、允许等一小段时间,如果还是超时或请求失败,就直接返回下单失败,撤销库存更新;然后开一个定时任务定期给订单服务发补偿信息(删除订单或标记订单无效,如果是库存服务超时就是加库存)直到这个消息被成功处理。 服务器的插入请求和补偿请求必须满足幂等性:重发插入请求不会导致一个订单被插入多次;重复发补偿不会导致订单被删多次(对库存服务就是库存被加多次)。并且要注意在订单真的创建后,才执行这个补偿。
投递招联金融等公司10个岗位
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务