명령을 받은
CQRS/ES 패턴에 따라 자신만의 Elixir 애플리케이션을 구축하려면 Commanded를 사용하세요.
다음에 대한 지원을 제공합니다:
- 명령 등록 및 파견.
- 집합체에 대한 호스팅 및 위임.
- 이벤트 처리.
- 장기 실행 프로세스 관리자.
Commanded는 귀하가 구축할 수 있는 견고한 기술 기반을 제공합니다. 이를 통해 앱의 가장 중요한 부분인 도메인 모델링에 집중하여 더 빠른 속도로 더 나은 애플리케이션을 만들 수 있습니다.
지속성을 위해 다음 이벤트 저장소 중 하나와 함께 Commanded를 사용할 수 있습니다.
- EventStore - 지속성을 위해 Postgres를 사용하는 Elixir 라이브러리입니다.
- EventStoreDB - 이벤트 소싱을 위해 구축된 스트림 데이터베이스입니다.
- 메모리 내 이벤트 저장소 - 테스트 용도로만 포함됩니다.
각 릴리스에 포함된 기능, 버그 수정 및 업그레이드 조언은 변경 로그를 참조하세요.
Erlang/OTP v21.0 및 Elixir v1.11 이상이 필요합니다.
후원자
- 변경 내역
- 위키
- CQRS/ES란 무엇입니까?
- 자주 묻는 질문
- 도움 받기
- 최근 게시된 Hex 패키지 및 문서
MIT 라이센스
이 README와 다음 가이드는 현재 게시된 버전이 아닐 수 있는 master
브랜치를 따릅니다.
Commanded on Hex의 최신 게시 버전에 대한 설명서를 읽어보세요.
개요
- 시작하기
- 이벤트 매장 선택
- PostgreSQL 기반 EventStore
- 그렉 영의 이벤트 매장
- 명령 사용
- 집계
- 예시 집계
-
Commanded.Aggregate.Multi
- 집계 상태 스냅샷
- 명령
- 명령 처리기
- 명령 파견 및 라우팅
- 집계 ID 정의
- 다중 명령 등록
- 디스패치 시간 초과
- 파견 일관성 보장
- 실행 결과를 반환하는 디스패치
- 총 수명
- 복합 명령 라우터
- 미들웨어
- 복합 명령 라우터
- 이벤트
- 프로세스 관리자
- 감독
- 직렬화
- 기본 JSON 직렬 변환기
- JSON 직렬화 구성
- 이벤트 구조체 디코딩
- 대체 직렬화 형식 사용
- 직렬화 사용자 정의
- 모델 예측 읽기
- 전개
- 단일 노드 배포
- 다중 노드 클러스터 배포
- 다중 노드(클러스터형 배포는 아님)
- 명령을 사용하여 테스트
- 생산에 사용됩니까?
- 예시적 적용
- 20분 만에 명령 배우기
- 이벤트 매장 제공업체 선택
- 압형
- 기여
- 도움이 필요하신가요?
생산에 사용됩니까?
예, Commanded를 사용하는 회사를 확인하세요.
예시적 적용
Conduit는 Elixir에서 CQRS/ES 패턴을 구현하는 Phoenix 1.3 웹 애플리케이션의 오픈 소스 예제입니다. 이는 Building Conduit 책의 Elixir 애플리케이션에서 Commanded 구현을 보여주기 위해 만들어졌습니다.
20분 만에 명령 배우기
Bernardo Amorim이 Code Beam SF 2018에서 CQRS 및 이벤트 소싱을 소개하는 모습을 시청하세요. Commanded와 함께 이러한 개념을 사용하여 Elixir 애플리케이션을 구현하는 방법에 대한 튜토리얼도 포함되어 있습니다.
기여
새롭거나 향상된 기능을 제공하고 문서를 확장하기 위한 풀 요청은 매우 환영합니다.
기존 코딩 규칙을 따르거나 Elixir 스타일 가이드를 참조하세요.
모든 변경 사항을 처리하려면 단위 테스트를 포함해야 합니다. 테스트 스위트를 실행하려면 mix test
실행하세요.
기여자
Commanded는 기여해 주신 다음 분들 덕분에 존재합니다.
- 아딜 야룰린
- 알렉상드르 드 수자
- 안드레이 아쿨로프
- 안제이 슬리와
- 벤 스미스
- 벤자민 모스
- 베르나르도 아모림
- 브렌튼 아난
- 크리스 브로드트
- 크리스 마틴
- 크리스토프 주니엣
- 다닐로 실바
- 데이브 루시아
- 데이비드 칼린
- 다미르 반딕
- 대니 프리들랜드
- 딜락순 바바라잔
- 에르네스토
- 페르난도 멘데스
- 플로리안 에벨링
- 헨리 하잔
- JC
- 조안 사파타
- 주앙 질베르토 모우라
- 주앙 탈리스
- 존 윌거
- 조셉 로자노
- 키안멩 앙
- 콕 J 샘
- 레이프 겐서트
- 루이스 페레이라
- 마르셀로 도밍게스
- 매트 다우티
- 매튜 볼릭
- 마이클 헤롤드
- 미구엘 팔라스
- 나이젤 손
- 올라퍼 아라손
- 파올로 로렌티
- 패트릭 데틀레프센
- 필 첸
- 라파엘 루스틴
- 슈테판 초웁타크
- 토비아스 마웨츠키
- 블라디미르 드로비셰프스키
- 윌리 웜뱃
- 요디스 프리에토
- 유리 드 피게이레도
- 즈벤
도움이 필요하신가요?
문제가 발생하거나 도움이 필요하면 문제를 열어주세요. 공식 Elixir Slack의 #commanded 채널에서 도움을 구할 수도 있습니다.