스킬 cqrs-implementation
📦

cqrs-implementation

안전

CQRS 아키텍처 구현

또한 다음에서 사용할 수 있습니다: wshobson

전통적인 CRUD 패턴으로는 읽기와 쓰기를 독립적으로 확장해야 하는 애플리케이션을 구축하기가 어렵습니다. 이 스킬은 즉��� 사용 가능한 CQRS 템플릿과 패턴을 제공하여 명령과 쿼리의 책임을 분리하고, 쓰기 집중적 및 읽기 집중적 워크로드 모두에 대해 최적화된 성능을 가능하게 합니다.

지원: Claude Codex Code(CC)
🥉 75 브론즈
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"cqrs-implementation" 사용 중입니다. Python 애플리케이션에서 읽기와 쓰기 작업을 어떻게 분리하나요?

예상 결과:

  • CQRS는 애플리��이션을 두 개의 별개 모델로 분리합니다. 명령(상태를 변경하는 쓰기 작업)과 쿼리(데이터를 반환하는 읽기 작업). 이 스킬은 명령 및 쿼리 핸들러, 디스패칭을 위한 명령 버스, 특정 쿼리 패턴에 최적화된 별도의 읽기 모델을 구현하는 방법을 보여주는 Python 템플릿을 제공합니다.
  • 주요 구성 요소는 다음과 같습니다. 검증이 포함된 명령 기본 클래스, CommandHandler 인터페이스, 라우팅을 위한 CommandBus, 쿼리 기본 클래스, 데이터 검색을 위한 QueryHandler, 그리고 뷰 업데이트를 위한 ReadModelSynchronizer.

"cqrs-implementation" 사용 중입니다. 데이터를 쓴 후 다시 읽을 때까지의 지연을 처리하는 방법을 보여주세요

예상 결과:

  • 이를 결과적 일관성이라고 합니다. 이 스킬은 쓰기 후 읽기 모델이 따라잡을 때까지 기다릴 수 있는 ConsistentQueryHandler 패턴을 포함합니다. 구성 가능한 타임아웃과 함께 프로젝션 버전을 폴링하고 예상 버전에 도달할 때까지 재시도합니다.
  • 타임아웃이 만료되면 경고 플래그와 함께 오래된 데이터를 반환하므로 애플리케이션이 계속 진행할지 사용자에게 알릴지 결정할 수 있습니다.

보안 감사

안전
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
스캔된 파일
579
분석된 줄 수
0
발견 사항
1
총 감사 수
보안 문제를 찾지 못했습니다
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
50
커뮤니티
100
보안
100
사양 준수

만들 수 있는 것

고성능 이커머스 플랫폼 구축

블랙 프라이데이 트래픽 급증을 다양한 확장 전략으로 처리하기 위해 주문 처리(쓰기)와 제품 카탈로그 검색(읽기)을 분리합니다.

실시간 분석 대시보드 구현

데이터 수집 파이프라인의 쓰기 작업을 단순하게 유지하면서 복잡한 집계 쿼리를 위한 최적화된 읽기 모델을 만듭니다.

단일형 애플리케이션을 이벤트 소싱 아키텍처로 마이그레이션

관심사를 분리하고 향후 이벤트 소싱 기능을 준비하기 위해 CQRS를 점진적으로 도입합니다.

이 프롬프트를 사용해 보세요

기본 CQRS 설정
Python에서 기본 CQRS 구조를 설정하는 것을 도와주세요. 명령 및 쿼리 기본 클��스, 명령 버스, 사용자 관리 도메인을 위한 간단한 핸들러가 필요합니다.
읽기 모델 프로젝션
도메인 이벤트와 동기화된 비정규화된 사용자 프로필을 유지하는 읽기 모델 프로젝션을 구현하는 방법을 보여주세요. 복원력을 위해 체크포인트 관리를 포함하세요.
FastAPI와 함께 CQRS 사용
명령 및 쿼리 버스에 대한 종���성 주입을 사용하여 명령용 POST/DELETE 엔드포인트와 쿼리용 GET 엔드포인트를 분리한 FastAPI 애플리케이션을 만드세요.
결과적 일관성 핸들러
쓰기 작업 후 읽기 모델 동기화를 기다릴 수 있는 ���리 핸들러를 구현하세요. 읽기 후 쓰기 일관성을 위해 타임아웃 및 오래�� 데이터 경고를 포함하세요.

모범 사례

  • 명령과 쿼리 사이에 명확한 경계를 만드세요. 동일한 핸들러에서 읽기와 쓰기 로직을 혼합하지 마세요
  • 모든 쿼리 패턴에 맞는 단일 뷰를 만들려고 시도하지 말고 쿼리 패턴에 맞게 읽기 모델을 설계하세요
  • 네트워크 실패 시 안전한 재시도를 가능하게 하려면 멱등성 명령 핸들러를 구현하세요

피하기

  • 명령 핸들러 내부에서 쓰기 데이터베이스 쿼리 - 명령은 검증 및 지속화만 해야 하며 비즈니스 로직을 위해 읽�� 않아야 합니다
  • 모든 쿼리 패턴을 처리하려는 단일 읽기 모델 생�� - 이는 최적화된 읽기 모델의 목적을 무효화합니다
  • 결과적 일관성을 무시하고 적절한 처리 없이 즉시 읽기 후 쓰기 가용성을 가정

자주 묻는 질문

CQRS란 무엇인가요?
CQRS는 Command Query Responsibility Segregation(명령 쿼리 책임 분리)의 약자입니다. 읽기 작업(쿼리)과 쓰기 작업(명령)을 분리하여 각각을 독립적으로 최적화할 수 있게 하는 아키텍처 패턴입���다.
언제 CQRS를 사용해야 하나요?
읽기와 쓰기에 대한 확장 요구사항이 다르거나, 비정규화된 뷰의 이점을 누릴 수 있는 복잡한 쿼리 패턴이 있는 경우, 또는 이벤트 소싱 시스템을 구축할 때 CQRS를 사용하세요.
CQRS를 사용하려면 이벤트 소싱이 필요한가요?
아니요, CQRS는 이벤트 소싱과 독립적으로 사용할 수 있습니다. 이벤트 소싱은 상태 변경을 이벤트로 저장하는 보완적인 패턴인 반면, CQRS는 명령과 쿼리 모델의 분리에 초점을 맞춥니다.
CQRS에서 결과적 일관성이란 무엇인가요?
결과적 일관성은 명령이 데이터를 수정한 후 읽기 모델에 해당 변경이 반영될 때까지 지연이 발생할 수 있음을 의미합니다. 이는 CQRS에서 정상적이며 오래된 데이터를 처리하도록 애플리케이션을 설계해야 합니다.
REST API와 함께 CQRS를 사용할 수 있나요?
네, 이 스킬은 명령용 POST, PUT, DELETE와 쿼리용 GET을 사용하는 방법과 명령 및 쿼리 버스의 적절한 분리를 보여주는 FastAPI 템플릿을 포함합니다.
CQRS의 주요 구성 요소는 무엇인가요?
주요 구성 요소는 다음과 같습니다. Command(상태 변경 의도), Command Handler(검증 및 실행), Event(변경 기록), Query(데이터 요청), Query Handler(데이터 검색), Projector(읽기 모델 업데이트).

개발자 세부 정보

파일 구조