千家信息网

ActiveMq的顺序性消费问题怎么解决

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"ActiveMq的顺序性消费问题怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ActiveMq的顺序性消费问题怎么解决"吧
千家信息网最后更新 2026年11月04日ActiveMq的顺序性消费问题怎么解决

这篇文章主要讲解了"ActiveMq的顺序性消费问题怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ActiveMq的顺序性消费问题怎么解决"吧!

业务的ABA问题

业务1将数据A从缓存中取到,业务B将数据A从缓存中取到并将A变成了B,然后又将B变成了A,业务1发现此时数据仍是A,A操作成功,尽管业务操作时成功的,但不代表整个过程就没问题。另外,虽然顺序性问题有可能带来的结果是一致的,但是不代表这个过程中影响的其他数据就没问题。

如图,同一时刻库中存入相同数据6条,但严谨逻辑只能允许库中存在相同数据只有一条,如果此时其他业务查询相关数据,必定会出现多结果返回

设想解决方案一:原子计数

方案:在每条数据进行操作之前,先判断两次操作数据是否为同一个,即redis的kv为同一个,如果相同则此时对key进行标记incr,步进1,在mq进行消费时,从redis中取出此key的步进值与传进来的步进值比较,按理说只需要记录想用kv值得最后最大步进值得操作

 Long incr = redisService.incr(key,1); Object o = redisService.getIncrValue("key"); if(o.toString().equals(vo.getIncr())){       //业务逻辑      }

结果测试:同样会出现此问题。一开始想到当前页面为同一用户对同一信息的操作,不会出现或者点不出如此高的并发,那不考虑接口被恶意攻击的情况,使用jemeter进行动态传参结果如何呢?

每次的参数入参读取文件值,使每次结果为不同的操作,或者两台机器为同一账户对同一信息进行操作,必定会产生网络延迟造成对结果不一致的问题。

设想解决方案二:分布式锁

方案:对当前操作进行加锁,并保证同一值得锁操作为同一把锁时进行业务处理,集群模式下对消息进行分组,具体方案不成熟,引入redisson处理,但也疑问为了保证顺序性问题引入分布式锁的成本与性能问题,最终没能达到理想结果。

public Boolean tryLock(String lockKey, TimeUnit unit, int waitTime, int leaseTime) {        RLock lock = redissonClient.getLock(lockKey);        try {            return lock.tryLock(waitTime,unit);        } catch (Exception e) {           return  false;        }    }

感谢各位的阅读,以上就是"ActiveMq的顺序性消费问题怎么解决"的内容了,经过本文的学习后,相信大家对ActiveMq的顺序性消费问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

问题 数据 业务 结果 顺序 消费 方案 步进 相同 学习 一致 成功 代表 信息 内容 分布式 情况 缓存 解决方案 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 广州大一互联网络科技有限公司 互联网核心科技是什么 互联网科技有限公司图片 互联网科技战争 互联网络科技有限公司 北京互联网科技有限公司 互联网科技公司怎么样 远信互联网科技 互联网科技公司需要的职位 华服互联网科技官网 科技互联网大厂 彤创互联网科技有限公司 黑科技闪耀互联网之光 互联网保险科技创业 珠海东科互联网科技有限公司 萌小萌互联网科技河南有限公司 数字互联网科技有限公司 科技互联网专业务虚会材料 广东猫王互联网科技有限公司电话 互联网下的科技发展 以房互联网科技 互联网科技汛 重庆互联网医院沙龙医盟信息科技 互联网科技与大数据专业 天津腾达互联网科技有限公司 互联网公司黑科技创始人 山东子淼互联网科技有限公司 互联网金融运营模式中的金融科技 平安好医生打造互联网科技医疗
0