10 2019 档案

摘要:结论:如果在service层的方法上同时使用事务和同步锁无法保证数据同步。 1 @Service 2 public class ServiceImpl{ 3 4 private static Lock lock = new ReentrantLock(false); 5 6 @Transaction 阅读全文
posted @ 2019-10-30 16:50 猿了个码 阅读(2479) 评论(0) 推荐(0) 编辑
摘要:一.前言 最近项目遇到多线程并发的情景(并发抢单&恢复库存并行),代码在正常情况下运行没有什么问题,在高并发压测下会出现:库存超发/总库存与sku库存对不上等各种问题。 在运用了 限流/加锁等方案后,问题得到解决。 限流方案见本人另一篇博客:Guava-RateLimiter实现令牌桶限流 加锁方案 阅读全文
posted @ 2019-10-30 15:58 猿了个码 阅读(1058) 评论(0) 推荐(0) 编辑
摘要:一.前言 对于一个应用系统来说,我们有时会遇到极限并发的情况,即有一个TPS/QPS阀值,如果超了阀值可能会导致服务器崩溃宕机,因此我们最好进行过载保护,防止大量请求涌入击垮系统。对服务接口进行限流可以达到保护系统的效果,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理。 二.常见限流方案 1 阅读全文
posted @ 2019-10-23 16:15 猿了个码 阅读(6560) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示