#의사결정 프레임워크 — 접근 방식 선택 방법

버전: 0.33.0 최종 업데이트: 2026-03-15 적용 대상: ranvier (모든 크레이트) 카테고리: 철학 & 아키텍처


"Ranvier 방식"과 "에코시스템 방식" 사이에서 선택해야 할 때, 이 프레임워크를 사용하여 정보에 기반한 결정을 내리세요.

#질문 순서 (순서대로)

첫 번째 "예"가 접근 방식을 결정합니다:

  1. 핵심 비즈니스 로직인가? (검증, 계산, 오케스트레이션) → Ranvier 방식: 시각화, 조합, 테스트 용이성
  2. Schematic 그래프에서 볼 필요가 있는가? (복잡한 흐름 디버깅, 팀 문서화) → Ranvier 방식: Transition만 Circuit 뷰에 표시됨
  3. 순수 인프라인가? (CORS, TLS, 속도 제한, 서킷 브레이커) → 에코시스템 방식: 실전 검증된 라이브러리 재사용 (Tower)
  4. 기존 코드베이스에서 마이그레이션 중인가? (Tower 앱, actix 서비스) → 하이브리드: 에코시스템으로 시작, 점진적으로 Ranvier 도입
  5. 팀이 이미 도구 X를 알고 있는가? (Tower, Axum, diesel) → 에코시스템 → Ranvier: 기존 지식 활용, 나중에 Transition으로 래핑

#의사결정 플로우차트

START

  ├─ Core business logic? ───Yes──> Ranvier way (Transition)

  ├─ Need visualization? ────Yes──> Ranvier way

  ├─ Pure infrastructure? ───Yes──> Ecosystem way (Tower/library)

  ├─ Migrating existing? ────Yes──> Hybrid (Tower + Ranvier)

  └─ Default ────────────────────> Ranvier way (when in doubt)

#요약 표

영역 Ranvier 방식 에코시스템 방식 하이브리드
비즈니스 로직 항상 절대 안 됨
복잡한 인증 권장 가능 일반적
CORS 과도함 Tower 사용
데이터베이스 Transition으로 래핑 직접 사용 가능 일반적
메트릭 수동 Tower 사용
미들웨어 비즈니스 규칙용 인프라용 일반적

#언제 Ranvier를 사용해야 하는가?

시나리오 권장 사항
새 프로젝트, 복잡한 워크플로우 순수 Ranvier (Transition)
새 프로젝트, 단순 CRUD Ranvier 가능 (더 간단한 프레임워크도 OK)
기존 Tower 앱 하이브리드 (Tower 유지, 새 기능에 Ranvier 추가)
기존 actix/Axum 앱 핸들러에 Ranvier 임베드
마이크로서비스 오케스트레이션 오케스트레이터에 Ranvier
단순 CRUD 서비스 더 간단한 프레임워크 사용
CORS/기본 인증만 필요 Tower/actix/Axum 미들웨어가 더 간단
다단계 상태 머신 Ranvier의 최적 영역

기본 권장 사항: 확신이 없고 어떤 다단계 로직이든 있다면, Ranvier를 사용하세요. 시각화만으로도 투자를 정당화합니다.


#관련 문서