Canal数据同步策略
生活随笔
收集整理的這篇文章主要介紹了
Canal数据同步策略
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
緩存數據同步的常見方式有三種:
設置有效期:給緩存設置有效期,到期后自動刪除。再次查詢時更新
-
優勢:簡單、方便
-
缺點:時效性差,緩存過期之前可能不一致
-
場景:更新頻率較低,時效性要求低的業務
同步雙寫:在修改數據庫的同時,直接修改緩存
-
優勢:時效性強,緩存與數據庫強一致
-
缺點:有代碼侵入,耦合度高;
-
場景:對一致性、時效性要求較高的緩存數據
異步通知:修改數據庫時發送事件通知,相關服務監聽到通知后修改緩存數據
-
優勢:低耦合,可以同時通知多個緩存服務
-
缺點:時效性一般,可能存在中間不一致狀態
-
場景:時效性要求一般,有多個服務需要同步
而異步實現又可以基于MQ或者Canal來實現:
1)基于MQ的異步通知:
解讀:
-
商品服務完成對數據的修改后,只需要發送一條消息到MQ中。
-
緩存服務監聽MQ消息,然后完成對緩存的更新
依然有少量的代碼侵入。
2)基于Canal的通知
解讀:
-
商品服務完成商品修改后,業務直接結束,沒有任何代碼侵入
-
Canal監聽MySQL變化,當發現變化后,立即通知緩存服務
-
緩存服務接收到canal通知,更新緩存
代碼零侵入
總結
以上是生活随笔為你收集整理的Canal数据同步策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenResty请求参数处理
- 下一篇: 监听Canal