命令和查詢職責分離模式 雲計算架構常用設計模式

2021-09-24 02:13:35 字數 653 閱讀 8678

在傳統的資料庫管理系統中,執行更新和查詢的是針對同乙個資料庫中的相同實體。當資料操作應用於簡單的業務邏輯時,傳統的crud設計方式工作良好。**生成工具提供快速建立資料訪問**框架機制,然後根據需要進行定製擴充套件。

但是,傳統的crud方法存在一點缺點:

命令和查詢職責分離(cqrs)是指從更新資料的操作之外,使用單獨的介面來讀取資料。此模式可以最大化效能,具有可擴充套件和安全性,通過更高的靈活性支援系統擴充套件公升級,並防止更新命令在領域級別引起合併衝突。

命令和查詢職責分離是將讀取資料的操作通過使用單獨介面,與更新資料的操作隔離。這意味著用於查詢和更新的資料模型是不同的,然後就可以將模型隔離。與傳統的crud單一模型相比面積與cqrs的系統中隔離的查詢和更新模型大大簡化了設計和實現。

用於讀取資料的查詢模型和用於寫入的更新模型可能通過使用sql檢視或通過生成的投影(資料對映)訪問統一物理儲存。然而,通常將讀寫的資料儲存在不同的物理儲存中,以最大化效能、可擴充套件性和安全性。

讀儲存可以是寫儲存的唯讀副本,或者讀儲存和寫儲存可以具有完全不同的結構。使用讀儲存的多個唯讀副本可以顯著提高查詢效能和應用程式的響應速度,特別是唯讀副本位於應用程式例項附近的分布式場景中。

讀寫儲存的分離還可以適當的進行配置以匹配各自負載,如讀儲存通常比寫儲存承擔高得多的負載。

適用情況:

不適用情況:

CQRS 命令查詢職責分離

cqrs command query responsibility segregation 一種奇怪的開發體驗,除了頻繁的切換資料夾,但整個業務思路是非常清晰的的。一 什麼是cqrs 在cqrs中,c command 是用來進行cud的,q query 則是對應查詢。每乙個command都必然改變物...

雲計算Linux檔案查詢和壓縮乾貨

雲計算乾貨 linux系統配置及服務管理檔案查詢 檔案查詢 簡介 which 命令查詢 find 檔案查詢,針對檔名 locate 檔案查詢,依賴資料庫 一 命令檔案查詢 一 查詢ls 命令的位置 which ls 從path環境變數 或者 whereis vim 二 任意檔案 find 語法fin...

雲計算的三種服務模式 IaaS,PaaS和SaaS

雲服務 現在已經快成了乙個家喻戶曉的詞了。如果你不知道paas,iaas 和saas的區別,那麼也沒啥,因為很多人確實不知道。雲 其實是網際網路的乙個隱喻,雲計算 其實就是使用網際網路來接入儲存或者執行在遠端伺服器端的應用,資料,或者服務。任何乙個使用基於網際網路的方法來計算,儲存和開發的公司,都可...