1、业务场景:
统计批量订单的返回码总数
2、方案:
采取的是 mq 的方式,获取到订单结果的返回码时,发到一个消息队列里,异步进行消费保存。
保存的过程中,相同的返回码会累加数据总数,此时问题就出现了,当量很大时,多节点多线程对同一条数据进行操作时,会报乐观锁异常。
尝试了加锁和内存缓存数据等方式进行解决,效果依然不佳,只能减少出现乐观锁的次数,不能避免乐观锁。
3、反思:
这种大数据量的操作数据库,还是采用mongo缓存好一点,定期存数,不实时更新数据。
1、业务场景:
统计批量订单的返回码总数
2、方案:
采取的是 mq 的方式,获取到订单结果的返回码时,发到一个消息队列里,异步进行消费保存。
保存的过程中,相同的返回码会累加数据总数,此时问题就出现了,当量很大时,多节点多线程对同一条数据进行操作时,会报乐观锁异常。
尝试了加锁和内存缓存数据等方式进行解决,效果依然不佳,只能减少出现乐观锁的次数,不能避免乐观锁。
3、反思:
这种大数据量的操作数据库,还是采用mongo缓存好一点,定期存数,不实时更新数据。