canna-cloud【十八】微服務複雜數據關聯查詢解決方案:CQRS(命令查詢職責分離)+DDD(領域驅動模型)

1、前言

使用微服務時,難免會涉及到不同服務之間跨庫的數據關聯,對於簡單的數據關聯可以在業務代碼中進行關聯;但是對複雜的條件關聯查詢如何處理,這是一個複雜的問題。

2、以下爲微服務中複雜數據關聯的一種解決方式

CQRS:Command Query Responsibility Segregation,命令查詢職責分離

DDD:Domain-Driven Design 領域驅動設計

通過CQRS將命令與查詢進行分離,然後針對具體的領域進行數據的組裝然後保存。

具體的流程可參考流程圖,較爲形象地說明以上的解決方案。

可簡單的描述如下:

前端數據更新(增刪改)請求=》後臺更新數據到數據庫=》同時發送數據到消息隊列=》具體的相關領域模型訂閱中間件消息=》收到消息後組裝成所需的數據=》保存到相應的存儲介質中=》前端根據所需內容進行相應的數據展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章