提问:程序设计-如何实现高并发转账?

面试中面试官提问如何实现安全的转账,回答了悲观锁select for update,版本控制的乐观锁。面试官表示正确但是并发量太低,实际场景中无法使用。

有佬知道如何实现高并发转账么?
全部评论
1.创一张新表,把更新操作改为插入操作,这样不会竞争行锁,然后开个定时任务去插入表里早最近一段时间对应数据变化的情况做批量更新。 2.redis存,然后mq异步更新数据库。 3.阿里和腾讯好像都对mysql做了改造,如果数据被识别为热点行的话,可以在有相同主键id的一组行为进行排队,这样同一组操作只有第一个sql会去竞争行锁后续的操作就不用再去抢锁了,并且这组操作只用提交一次事务。 不知道对不对哈,之前看八股看到的。
1 回复 分享
发布于 2024-10-16 18:07 重庆

相关推荐

#牛客AI配图神器#攒攒好运~手撕:两个文件各有一亿行字符串,写一个算法找两个文件中相同的字符串问题:介绍你的一个后端项目介绍RPC项目介绍为什么你拆了这几个模块如果某一台机器下线了,应该怎么处理Java的锁用过哪些synchronized 和 ReentrantLocksynchronized底层原理假如多个线程竞争一个被synchronized锁上的资源,假如有t1,t2,t3这几个线程,如果t1拿到了,那么这是t2t3怎么办,如果t1用完了,释放锁之后,那么t2t3怎么知道?之后又是怎么竞争给你一个线程池,corePoolSize = 10, maximumPoolSize = 30, workQueue.size() = 100, 问第几个任务过来的时候,线程数量能够扩大到最大的数量30超过了会怎么样线程有很多创建方式,他的演进是怎么样的,为什么后面又有了线程池你觉得线程池主要解决什么问题分布式锁都有哪些类型的实现用redis实现分布式锁的几个关键参数分别是什么作用?如key,value,过期时间WatchDog是干嘛的如果获取分布式锁后,业务执行过程中抛异常了怎么办如果没有用catch捕获呢那什么情况下,业务逻辑时间比过期时间短,但是仍然会用到过期时间释放锁是怎么实现的?里面可能出现什么问题需要考虑如果出现线程安全问题,比如过期时间10s,业务逻辑执行也是10s,那么如果先过期,然后另一个线程拿到了分布式锁,那么业务逻辑执行删除时候就直接把别人的锁删了,这个问题怎么解决Redis的高可用是怎么做的MySQL怎么实现乐观锁悲观锁数据库加了索引为什么可以变快?假如我没有学过计算机,应该怎么解释用索引的过程中需要注意哪些#蚂蚁##暑期##实习##Java##后端#
查看25道真题和解析
点赞 评论 收藏
分享
小米春季招聘启动,面向25应届毕业生,下方链接投递内推码: BAD31ZQ招聘对象:25届春招,(社招也能在下面投递)中国内地:毕业时间2025.01-2025.12中国港澳台及海外:毕业时间2024.07-2025.12工作地点:北京、南京、武汉、深圳、上海等国内城市,以及海外城市1.公司福利:为所有员工购买六险一金——养老保险、失业保险、工伤保险、生育保险、医疗保险、补充商业保险和公积金(12%)2.入职即送新人券1000元3.每年有两次晋升机会4.公司提供多种全薪假,包括劳动法规定的法定节假日、12天带薪病假,根据工作时长还有对应时间的年假常见问题1、本次专项是否有笔试?有,两次笔试2、测平会淘汰人选吗?会,请认真做哦。(如果收到多份做一份就行)3、内推的人选一定会进面试吗?内推的优势在于简历优先筛选,但不能帮助候选人直通面试。4、为什么候选人已经进入面试环节,简历状态又变成了筛选?情况1:进面但未安排面试,超过一定期限,将重新调整人选应聘的状态,推荐至其他有需求的部门;情况2:已进行面试,状态更改为筛选,一般是面试不合适,推荐至其他有需求的部门。5、为什么简历看着还不错,还是没有通过筛选/面试呢?影响简历筛选/面试通过的因素有很多,比如专业方向、过往项目经历、简历中内容的表达等,也会包括同一批简历的竞争激烈程度。6、简历初筛是什么意思?申请的第一个环节,代表简历还没有被处理,也就是有其他申请在流程中,校招一次只能处理一条申请,不能多个岗位同时筛选或面试。7、面试通过后续流程是?offer沟通需要时间,且沟通量较教大,一般无特殊情况不单独查询学生状态,但是用该内推码的同学,私信姓名可以跟踪进度哦面试通过后,会由部门进行最后一轮评估,再由部门HR联系学生小米公司校招内推码: BAD31ZQ 投递链接: https://xiaomi.jobs.f.mioffice.cn/referral/campus/position/?token=NTsxNzQ1NTQzMzI0ODA1OzcyNTI2MjA3NTAxMzI5MDQwNDQ7NzQyNzMxNTUyNTI5NjI5MTk0OA小米公司社招内推码: BAD31ZQ 投递链接: https://xiaomi.jobs.f.mioffice.cn/referral/position/?token=NTsxNzQ1NTQzMzU4NzQ5OzcyNTI2MjA3NTAxMzI5MDQwNDQ7NzQyNzMyNzM3MjQyNzYyNDU1Ng #校招#  #小米#  #小米内推#  #春招#  #牛友职场人脉来了#
小米集团
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务