背景 以前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mysql的死锁知识以及常见的死锁场景。在多方调研以及和同事们的讨论下终于发现了这个死锁问题的成因,收获颇多。虽然是后端程序员,我们不需要像DBA一样深入 ...
开卷故意,好久没写博客了,近期工作也挺忙的。 死锁距离我不遥远。最终还是在高并发时被我碰到了。 DeadLock Found 虽然编程风格中会尽量避免死锁,可是还是被我碰上了。文章可能看不出来我在做什么事情。仅仅是记录自己的一个排除死锁的过程。 事情起源于两个联动的缓存 redis 异步数据库读写操作。 事务中的这句出现死锁: DELETE FROM table WHERE FROM key h ...
2016-01-03 17:53 0 2451 推荐指数:
背景 以前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mysql的死锁知识以及常见的死锁场景。在多方调研以及和同事们的讨论下终于发现了这个死锁问题的成因,收获颇多。虽然是后端程序员,我们不需要像DBA一样深入 ...
背景以前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mysql的死锁知识以及常见的死锁场景。在多方调研以及和同事们的讨论下终于发现了这个死锁问题的成因,收获颇多。虽然是后端程序员,我们不需要像DBA一样深入地去分析 ...
一直听说dapper的数据处理能力很强. 我也一直很喜欢. 不过最近的一次压力测试却出乎我的意料....好久没写东西,感觉自己都不知道怎么表达自己的意思了. 另外 这次的测试也是自己才开始的 . 也不知道测试思路和方式是否正确. 各位有什么就来吐槽吐槽吧. 测试代码下载 http ...
...
在做数据缓存的时候,通常都是把数据从数据库读取出来,然后放入缓存,接下来在缓存的有效期内都是从缓存读取数据减少数据库压力。但是在高并发环境下,就有可能出现问题,比如根据指定格式从redis下拿数据,但是当下key是不存在的,那么就需要往里面写数据,如果多个进程同时请求,会造成数据的二次写入 ...
目录 一、问题详情 top 命令截图 联系腾讯云排查 检查系统日志发现异常 二、 问题解析 三、问题原因 最终结 ...
1.================================================================================================================================ 高并发架构系列:分布式锁的由来 ...
马上就要离职了,想想工作中有些东西还是需要沉淀下来的,不仅仅要沉淀到心里,因为年纪大了_,很容易忘记,不是有句话么,好记性不如烂笔头。 分析这个bug之前先说点别的。 解决bug的大致思路 我觉的解bug和医生看病是一样的,中医看病讲究望闻问切。软件出了毛病也按这个套路来,但是不需要 ...