Skip to Content
개발자서비스와 책임 경계

서비스와 책임 경계

경계를 통일하되 모든 상태가 같은 저장소에 속한다고 가정하지 마세요.

구성 요소책임
Game client상호작용, 렌더링, 미리보기
Bridge공개 HTTP 인증, 검증, 요청 접수
World실시간 월드 시뮬레이션과 세션 상태의 권위
Communicate실시간 커뮤니케이션
Internal API계약 조회·브로드캐스트의 중앙 접근과 내부 동작
Internal Worker백그라운드 작업, outbox 처리, 서명자별 거래
Admin운영 입력과 관리

요청과 비동기 작업

주요 동기 체인 경로는 client → Bridge → Internal API → Gnoland입니다. 비동기 작업은 DB outbox와 Kafka를 거쳐 Internal Worker, Internal API로 이어집니다. 두 서비스가 같은 의존성에 접근할 수 있다는 이유로 이 책임을 우회하지 마세요.

목적에 따라 나뉘는 저장

PostgreSQL은 영속 게임 기록과 정의를 저장합니다. Redis는 런타임 조정과 체크포인트에 사용됩니다. 청크 저장에는 outbox 처리와 Garage 오브젝트 저장소도 관여합니다. Gno 계약은 자신에게 배정된 체인 상태를 소유합니다.

일반 인벤토리 변경과 트랜잭션에 민감한 동작의 저장 시점은 다릅니다. 클라이언트 애니메이션은 커밋이 아니며 대기열에 들어간 체인 요청은 최종 확정이 아닙니다. 장애 복구 보장은 소유 경계에서 검증해야 합니다.

오류 경계

정규화 계약에 따라 안전한 공개 Problem과 비공개 진단을 분리하세요. 전송 실패, 명령 거부, 앱 오류는 계속 구분합니다.