使用傳統 CRUD 模式來建置需要獨立擴展讀取與寫入的應用程式充滿挑戰。此技能提供現成可用的 CQRS 範本與模式,用於分離命令與查詢職責,進而針對寫入密集與讀取繁重的工作負載最佳化效能。
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "cqrs-implementation". 如何在 Python 應用程式中分離讀取與寫入操作?
Résultat attendu:
- CQRS 將應用程式分為兩個不同的模型:命令(改變狀態的寫入操作)與查詢(傳回資料的讀取操作)。此技能提供 Python 範本,展示如何實作 Command 與 Query 處理器、用於分派的命令匯流排,以及針對特定查詢模式最佳化的獨立讀取模型。
- 主要元件包含:具備驗證功能的 Command 基底類別、CommandHandler 介面、用於路由的 CommandBus、Query 基底類別、用於資料擷取的 QueryHandler,以及用於保持檢視表最新的 ReadModelSynchronizer。
Utilisation de "cqrs-implementation". 展示如何處理寫入資料後讀取回來之間的延遲
Résultat attendu:
- 這稱為最終一致性。此技能包含 ConsistentQueryHandler 模式,可在寫入後等待讀取模型趕上進度。它會輪詢投影版本並重試,直到達到預期版本為止,並具有可設定的逾時時間。
- 如果逾時到期,它會傳回過期資料並附上警告旗標,讓您的應用程式可以決定繼續執行或通知使用者。
Audit de sécurité
SûrStatic analysis detected 30 potential issues, but all are false positives. The scanner misidentified markdown code fences as shell execution, database queries as network fetches, documentation URLs as suspicious, and sort order strings as weak cryptography. This is a legitimate CQRS educational skill with Python code templates. No actual security risks identified.
Score de qualité
Ce que vous pouvez construire
建置高效能電商平台
將訂單處理(寫入)與產品目錄瀏覽(讀取)分離,以不同的擴展策略來應對黑色星期五的流量尖峰。
實作即時分析儀表板
為複雜的聚合查詢建立最佳化的讀取模型,同時保持資料匯入管線的寫入操作簡潔。
將單體應用程式遷移至事件來源架構
逐步引入 CQRS 以分離關注點,並為未來的事件來源能力做準備。
Essayez ces prompts
協助我在 Python 中建立基本的 CQRS 結構。我需要命令與查詢的基底類別、命令匯流排,以及用於使用者管理領域的簡單處理器。
展示如何實作讀取模型投影,讓非正規化的使用者設定檔與領域事件保持同步。包含檢查點管理以提升韌性。
建立一個 FastAPI 應用程式,為命令使用獨立的 POST/DELETE 端點,為查詢使用 GET 端點,並使用依賴注入來管理命令與查詢匯流排。
實作一個查詢處理器,可在寫入操作後等待讀取模型同步,並針對讀您寫入一致性提供逾時與過期資料警告。
Bonnes pratiques
- 在命令與查詢之間建立明確界限—不要在同一個處理器中混合讀取與寫入邏輯
- 專為其查詢模式���計讀取模型,而非嘗試建立適用所有情況的檢視表
- 實作等冪的命令處理器,以便在網路失敗時安全重試
Éviter
- 在命令處理器內查詢寫入資料庫—命令應僅驗證與持久化,絕不應為了業務邏輯而讀取
- 建立單一讀取模型來服務所有查詢模式—這會抵銷最佳化讀取模型的目的
- 忽略最終一致性,並在未適當處理的情況下假設寫入後可立即讀取