1、MVCC多版本并发控制
也就是在生产的时候带上数据的版本号。
update order set count = count + 1 where id = 1;
# version 为传参变量
update order set count = count +1, version = version + 1 where id = 1 and version = :version
2、去重表方案
创建一张记录表,比如只有一个字段ID,使用唯一索引。在程序中处理DML时写入数据,将异常捕获掉,依然使用ACK确认机制将消息消费掉。