消息隊列出現消息重複的原因有多種
消息隊列並不能保證消息的唯一,所以我們只能在業務層面上做這些控制
1.全局唯一id,比如通過消息隊列來生成訂單,那訂單號就是唯一的,在進行插入數據庫之前先判斷是否這個訂單號是否已經存在了,如果已經存在了,說明已經消費過這條消息了,直接丟棄
2.消息確認表,將消息標示號存入redis或者數據庫,在進行消費之前進行一個判斷
總之解決的方案很多,要看具體業務場景
消息隊列出現消息重複的原因有多種
消息隊列並不能保證消息的唯一,所以我們只能在業務層面上做這些控制
1.全局唯一id,比如通過消息隊列來生成訂單,那訂單號就是唯一的,在進行插入數據庫之前先判斷是否這個訂單號是否已經存在了,如果已經存在了,說明已經消費過這條消息了,直接丟棄
2.消息確認表,將消息標示號存入redis或者數據庫,在進行消費之前進行一個判斷
總之解決的方案很多,要看具體業務場景
1、通過pom引入rabbitmq,我這裏用的版本是springboot2.03,springcloud的版本爲 Finchley.RELEASE <dependency> <groupId>o