従来の 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 はアプリケーションを 2 つの異なるモデルに分離します:コマンド(状態を変更する書き込み操作)とクエリ(データを返す読み取り操作)。このスキルは、コマンドおよびクエリハンドラーの実装、ディスパッチ用のコマンドバス、特定のクエリパターンに最適化された個別の読み取りモデルを示す Python テンプレートを提供します。
- 主要コンポーネントには、バリデーションを備えたコマンド基本クラス、CommandHandler インターフェース、ルーティング用の CommandBus、クエリ基本クラス、データ取得用の 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
高性能 E コマースプラットフォームの構築
注文処理(書き込み)と商品カタログ閲覧(読み取り)を分離し、異なるスケーリング戦略で Black Friday のトラフィックスパイクに対応します。
リアルタイム分析ダッシュボードの実装
データ収集パイプラインの書き込み操作をシンプルに保ちながら、複雑な集計クエリのために最適化された読み取りモデルを作成します。
モノリシックアプリのイベントソーシングアーキテクチャへの移行
CQRS を段階的に導入して関心事を分離し、将来のイベントソーシング機能に備えます。
Essayez ces prompts
Python で基本的な CQRS 構造を設定したいです。コマンドとクエリの基本クラス、コマンドバス、ユーザー管理ドメインのためのシンプルなハンドラーが必要です。
ドメインイベントと同期した非正規化ユーザープロファイルを読み取りモデルとして実装する方法を示してください。レジリエンスのためのチェックポイント管理も含めてください。
コマンドとクエリバスの依存性注入を使用し、コマンド用の POST/DELETE エンドポイントとクエリ用の GET エンドポイントを備えた FastAPI アプリケーションを作成してください。
書き込み操作後に読み取りモデルの同期を待機できるクエリハンドラーを実装してください。ライトアファーリード整合性のために、タイムアウトと古いデータ警告を含めます。
Bonnes pratiques
- コマンドとクエリの境界を明確にすること - 同じハンドラーで読み取りロジックと書き込みロジックを混合しないでください
- 読み取りモデルは、万能なビューを作成しようとするのではなく、そのクエリパターンに合わせて具体的に設計してください
- ネットワーク障害中の安全な再試行を可能にするために、冪等なコマンドハンドラーを実装してください
Éviter
- コマンドハンドラー内で書き込みデータベースをクエリすること - コマンドはバリデーションと永続化のみを行い、ビジネスロジックに読み取りを含めないでください
- すべてのクエリパターンを提供しようとする単一の読み取りモデルを作成すること - これは最適化された読み取りモデルの目的に反します
- 最終整合性を無視し、適切な処理なしに書き込み後の即時読み取り可用性を仮定すること