클라이언트-서버 아키텍처의 구성 요소, 경계, 데이터 및 제어 흐름, 인터페이스, 실패 처리 방식을 정의합니다. 채택 경계와 관찰 가능한 실패 증거를 고정하면서 환경별 한계는 구성 가능하도록 유지합니다.
패키지 상태: 참조 컨텍스트로서 인간 검토 준비 완료. 계약 및 테스트 시나리오는 완성되었으나, 채택 구현이 이를 통과했다는 주장은 없습니다.
결정
클라이언트-서버 아키텍처에 대해 소유 인터페이스와 의존성 방향이 명시된 기록된 아키텍처 결정을 채택합니다. 하나의 소유 경계, 명시적 상태 모델, 버전 관리된 인터페이스를 사용하며 정책 결정은 어댑터 및 부작용과 분리합니다. 이 패키지는 참조 계약으로, 채택 팀은 자체 환경의 증거를 바탕으로 수치 한계, 공급자, 관할권, 운영 소유자를 선택해야 합니다.
범위
- 이 아키텍처 블록에서 설명하는 클라이언트-서버 아키텍처 행위자, 입력, 출력, 상태, 정책 또는 스키마 버전, 외부에 보이는 결과.
- 기본 및 대체 인터페이스, 백그라운드 작업, 캐시, 통합, 지원 경로, 동일 경계를 작동시킬 수 있는 증거.
- 참조를 안전하게 적용하는 데 필요한 채택별 구성, 롤아웃, 복구, 검증 책임.
이 블록 밖
- 모든 채택자를 위한 보편적 공급자, 프레임워크, 관할권, 수치 임계값, 보존 기간, 서비스 수준 목표 선택.
- 패키지된 시나리오가 하위 구현에서 실행되었다거나 이 참조가 법적, 보안, 접근성 인증을 부여한다는 주장.
계약
- 결정 동인, 대안, 제약, 가역성, 선택된 구조를 무효화할 조건 명명.
- 모든 경계에서 데이터, 동작, 인터페이스, 배포, 운영 소유권 할당; 공유 코드는 소유권을 지우지 않음.
- 문서화된 방향으로만 의존성 허용 및 다른 구성 요소 내부 모델이 아닌 안정적인 계약 교환.
- 각 원격 또는 비동기 경계에 대한 타임아웃, 용량, 일관성, 저하, 배포, 마이그레이션, 복구 동작 정의.
- 구성 요소 소유권 및 허용된 의존성 방향 문서화, 각 경계를 통과할 수 있는 데이터 포함.
- 동기, 비동기, 배치 경로가 동일한 권한 및 상태 불변 조건 구현.
- 각 사실과 결정을 하나의 클라이언트 또는 서버 권한에 할당하고, 그들 간 버전 관리된 전송, 검증, 인증, 권한 부여, 멱등성, 오류 계약 정의.
- 클라이언트 상태를 신뢰할 수 없고 잠재적으로 오래된 것으로 취급하며, 오프라인 또는 낙관적 의도를 서버 버전과 조정하고, 어느 한쪽이 독립적으로 업그레이드할 때도 사용 가능한 실패 경로 보존.
구현 지침
- 도메인 상태 및 인터페이스 계약부터 시작하여 어댑터, 저장소, 큐, 공급자별 코드를 연결.
- 프레임워크 또는 공급자 세부사항 선택 전에 클라이언트-서버 아키텍처 입력, 출력, 행위자, 상태, 불변 조건, 부작용, 증거 모델링.
- 적용 가능한 클라이언트-서버 아키텍처 계약 또는 정책 버전을 물질 상태와 함께 저장하여 마이그레이션, 재생, 지원 결정에 추적 가능성 유지.
- 통제된 롤아웃 뒤 경로 도입, 예상 결과와 관찰 결과 비교, 채택 증거가 완성될 때까지 테스트된 복구 경로 유지.
실패 처리 및 안전장치
- 경계 실패는 격리되어 유지되며, 안정적인 호출자 결과를 생성하고 테스트된 롤백 또는 전진 복구 경로를 가짐.
- 잘못되었거나 모순된 클라이언트-서버 아키텍처 상태는 거부되거나 격리됨; 구현은 권한을 확장하거나 효과를 중복하는 값을 추측하지 않음.
- 재시도는 한계가 있으며 내구성 있는 식별자를 사용; 소진 후 작업은 검사 가능한 최종 상태에 도달하며 책임 있는 소유자가 있음.
검증 및 운영
- 각 어댑터를 통해 계약을 실행하고 실패한 의존성이 권한 경계를 우회할 수 없음을 증명.
- 민감한 페이로드 차원 없이 계약 버전별로 클라이언트-서버 아키텍처 성공, 거부, 검증 실패, 의존성 실패, 재시도 소진, 복구 모니터링.
- 정책, 스키마, 의존성, 마이그레이션, 경계 변경 후 양성 및 음성 픽스처를 재실행하고 결과 증거 보존.
채택 가정
- 예제의 이름과 값은 구체적 픽스처이며 보편적 기본값이 아님; 채택자는 문서화된 증거와 소유권을 통해 이를 교체.
- 채택 시스템은 인증된 신원, 내구성 있는 운영 또는 기록 버전, 제한된 원격 측정, 변경을 위한 통제된 경로 제공 가능.
이 패키지의 실행 가능한 예제는 픽스처 및 수용 계약입니다.
구조와 메타데이터를 확인하려면 컬렉션 검증기를 실행하고, 대상 저장소에서 시나리오를 번역 및 실행한 후 구현 증거를 기록하세요.