Compétences cqrs-implementation
📦

cqrs-implementation

Sûr

CQRS-Architektur implementieren

Également disponible depuis: wshobson

Anwendungen zu erstellen, die Lese- und Schreibvorgänge unabhängig skalieren müssen, ist mit traditionellen CRUD-Mustern eine Herausforderung. Diese Skill bietet sofort einsetzbare CQRS-Vorlagen und Muster, um Befehls- und Abfrageverantwortlichkeiten zu trennen und ermöglicht optimierte Leistung für sowohl schreibintensive als auch leseintensive Workloads.

Prend en charge: Claude Codex Code(CC)
🥉 75 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "cqrs-implementation". Wie trenne ich Lese- und Schreibvorgänge in meiner Python-Anwendung?

Résultat attendu:

  • CQRS trennt Ihre Anwendung in zwei unterschiedliche Modelle: Commands (Schreibvorgänge, die den Zustand ändern) und Queries (Lesevorgänge, die Daten zurückgeben). Die Skill bietet Python-Vorlagen, die zeigen, wie Command- und Query-Handler, einen Command-Bus für das Dispatching und separate, für bestimmte Query-Muster optimierte Lesemodelle implementiert werden.
  • Zu den wichtigsten Komponenten gehören: Command-Basisklasse mit Validierung, CommandHandler-Schnittstelle, CommandBus für das Routing, Query-Basisklasse, QueryHandler für den Datenabruf und ReadModelSynchronizer für die Aktualisierung der Ansichten.

Utilisation de "cqrs-implementation". Zeigen Sie mir, wie ich die Verzögerung zwischen dem Schreiben und dem Zurücklesen von Daten handhaben kann

Résultat attendu:

  • Dies wird als Eventual Consistency bezeichnet. Die Skill enthält ein ConsistentQueryHandler-Muster, das auf das Aufholen des Lesemodells nach einem Schreibvorgang warten kann. Es polled die Projektionsversion und wiederholt den Vorgang, bis die erwartete Version erreicht ist, mit einem konfigurierbaren Timeout.
  • Wenn das Timeout abläuft, werden die veralteten Daten mit einem Warn-Flag zurückgegeben, damit Ihre Anwendung entscheiden kann, ob sie fortfahren oder den Benutzer benachrichtigen soll.

Audit de sécurité

Sûr
v1 • 2/24/2026

Static 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.

2
Fichiers analysés
579
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
100
Sécurité
100
Conformité aux spécifications

Ce que vous pouvez construire

Hochleistungsfähige E-Commerce-Plattform aufbauen

Trennen Sie die Auftragsverarbeitung (Schreibvorgänge) vom Produktkatalog-Browsing (Lesevorgänge), um Black-Friday-Verkehrsspitzen mit unterschiedlichen Skalierungsstrategien zu bewältigen.

Echtzeit-Analysedashboard implementieren

Erstellen Sie optimierte Lesemodelle für komplexe Aggregationsabfragen, während Sie Schreibvorgänge einfach für Dateningestion-Pipelines halten.

Monolithische Anwendung zu Event-Sourced-Architektur migrieren

Führen Sie CQRS inkrementell ein, um Bedenken zu trennen und auf zukünftige Event-Sourcing-Fähigkeiten vorzubereiten.

Essayez ces prompts

Grundlegende CQRS-Einrichtung
Helfen Sie mir, eine grundlegende CQRS-Struktur in Python einzurichten. Ich benötige Command- und Query-Basisklassen, einen Command-Bus und einfache Handler für eine Benutzerverwaltungsdomain.
Lesemodell-Projection
Zeigen Sie mir, wie ich eine Lesemodell-Projection implementiere, die ein denormalisiertes Benutzerprofil mit Domain-Events synchron hält. Beziehen Sie Checkpoint-Management für Resilienz ein.
CQRS mit FastAPI
Erstellen Sie eine FastAPI-Anwendung mit separaten POST/DELETE-Endpunkten für Commands und GET-Endpunkten für Queries, unter Verwendung von Dependency Injection für Command- und Query-Busse.
Eventual Consistency Handler
Implementieren Sie einen Query-Handler, der auf die Lesemodell-Synchronisierung nach einem Schreibvorgang warten kann, mit Timeout und Warnung für veraltete Daten für Read-Your-Writes-Konsistenz.

Bonnes pratiques

  • Beginnen Sie mit einer klaren Grenze zwischen Commands und Queries - mischen Sie keine Lese- und Schreiblogik im selben Handler
  • Gestalten Sie Lesemodelle spezifisch für ihre Query-Muster, anstatt zu versuchen, eine Einheitslösung zu erstellen
  • Implementieren Sie idempotente Command-Handler, um sichere Wiederholungen bei Netzwerkausfällen zu ermöglichen

Éviter

  • Abfragen der Schreibdatenbank innerhalb von Command-Handlern - Commands sollten nur validieren und speichern, niemals für Geschäftslogik lesen
  • Erstellen eines einzelnen Lesemodells, das alle Query-Muster bedienen soll - dies untergräbt den Zweck optimierter Lesemodelle
  • Ignorieren von Eventual Consistency und Annehmen sofortiger Read-After-Write-Verfügbarkeit ohne ordnungsgemäße Handhabung

Foire aux questions

Was ist CQRS?
CQRS steht für Command Query Responsibility Segregation. Es ist ein Architekturmuster, das Lesevorgänge (Queries) von Schreibvorgängen (Commands) trennt und ermöglicht, jedes unabhängig zu optimieren.
Wann sollte ich CQRS verwenden?
Verwenden Sie CQRS, wenn Sie unterschiedliche Skalierungsanforderungen für Lese- und Schreibvorgänge haben, komplexe Query-Muster, die von denormalisierten Ansichten profitieren, oder wenn Sie Event-Sourced-Systeme erstellen.
Erfordert CQRS Event Sourcing?
Nein, CQRS kann unabhängig von Event Sourcing verwendet werden. Event Sourcing ist ein komplementäres Muster, das Zustandsänderungen als Events speichert, während sich CQRS auf die Trennung von Command- und Query-Modellen konzentriert.
Was ist Eventual Consistency in CQRS?
Eventual Consistency bedeutet, dass nach einem Command, der Daten ändert, eine Verzögerung auftreten kann, bevor das Lesemodell diese Änderung widerspiegelt. Dies ist in CQRS normal und erfordert, Ihre Anwendung so zu gestalten, dass sie mit veralteten Daten umgehen kann.
Kann CQRS mit REST APIs verwendet werden?
Ja, die Skill enthält FastAPI-Vorlagen, die zeigen, wie POST, PUT, DELETE für Commands und GET für Queries verwendet werden, mit proper Trennung von Command- und Query-Bussen.
Was sind die Hauptkomponenten von CQRS?
Die Hauptkomponenten sind: Command (Absicht, den Zustand zu ändern), Command Handler (validiert und führt aus), Event (Aufzeichnung der Änderung), Query (Datenanfrage), Query Handler (ruft Daten ab) und Projector (aktualisiert das Lesemodell).

Détails du développeur

Structure de fichiers