Rust Web Backend Framework

모든 결정이 드러나며
모든 분기를 추적할 수 있습니다.

Ranvier는 복잡한 비즈니스 로직을 위한 Rust 웹 백엔드입니다. 타입 안전한 Axon 체인으로 다단계 워크플로우를 구성하고, Schematic diff를 CI에서 생성하며, 모든 Outcome을 코드에 남깁니다.

Code-as-Circuit Outcome::Branch
SCHEMATIC PREVIEW
Ranvier Code-as-Circuit
// src/ingress/auth.rs
let auth_flow = Axon::new()
    .then(validate_token)
    .branch(|ctx| {
        match ctx.role {
            Admin => admin_circuit,
            User  => user_circuit,
        }
    });
LIVE SCHEMATIC - Payment Saga

"로직은 직접 쓰고, 회로 검증은 Ranvier에 맡기세요."

01

Axon 실행 흐름

타입 안전한 Transition으로 실행 흐름을 구성합니다. 각 단계가 코드에 드러나며, 변경 전후를 쉽게 추적할 수 있습니다.

02

Schematic 구조 가시화

실행 없이 구조를 추출해 회로를 확인합니다. 운영 전에 diff와 검증으로 리스크를 줄일 수 있습니다.

03

Outcome 기반 제어

분기, 점프, emit, fault가 모두 데이터로 남습니다. 숨겨진 미들웨어 체인 없이, 결과 데이터만으로 흐름을 파악할 수 있습니다.

04

경계 규율

Ingress/Egress 어댑터가 프로토콜 경계를 담당합니다. 코어는 깔끔하게 유지하고, 리소스와 신뢰 경계를 명확하게 관리합니다.

Ranvier가 빛나는 순간

복잡한 백엔드 로직일수록 모든 단계가 드러나고 추적 가능해야 합니다.

Saga 보상

결제가 3단계에서 실패하면, 1~2단계가 역순으로 자동 롤백됩니다.

캐스케이드 스크리닝

KYC 제재 검사 실패 시, 비용이 큰 서류 검증 단계를 건너뜁니다.

다단계 파이프라인

AI 에이전트에서도 분류, 도구 선택, 실행, 포맷팅 단계를 타입 안전하게 나눌 수 있습니다.

CI에서 Schematic Diff

PR이 Transition을 변경하면, CI가 머지 전에 변경된 실행 경로를 정확히 보여줍니다.

Opinionated Core, Flexible Edges

🔒

명확한 철학을 가진 코어

Ranvier는 내부 구조로 Transition/Outcome/Bus/Schematic을 반드시 사용합니다. 이것이 바로 Ranvier만의 정체성입니다. 구조를 먼저 생각하고 시각화할 수 있는 프레임워크로서, 명확한 방향성과 일관된 학습 경로, 통일된 코드베이스를 제공합니다.

  • 비즈니스 로직 → Ranvier 방식 (Transition 기반, 시각화)
  • 복잡한 워크플로우 → Ranvier의 진가가 드러남 (다단계, 상태 머신)
🔓

자유로운 바깥층

코어 바깥에서는 원하는 Rust 도구를 자유롭게 쓸 수 있습니다 — Tower, actix, Axum, sqlx, diesel, redis. 기존 생태계와 조합하고, 단계적으로 도입하며, 인프라는 상황에 맞게 고를 수 있습니다.

  • 인프라 (CORS, 인증, DB) → 자유 선택 (Tower, 생태계 라이브러리)
  • 간단한 CRUD → 생태계 도구만으로도 충분

기본 보장

Bus는 타입 기반 컨테이너입니다. 무엇을 넣고 누가 읽는지 코드에서 바로 드러납니다.
Ingress는 요청을 상태로 변환하고, Egress는 Outcome을 응답으로 매핑합니다.
Schematic은 정적 구조물입니다. diff/검증/시각화 전용이며 실행 로직은 다루지 않습니다.
LLM은 구조를 제안할 수 있지만 런타임 변경은 반드시 사람의 리뷰와 검증을 거칩니다.

처음 시작 경로

1) 한 경로로 설치: Rust 1.93+에서 facade 전용 퀵스타트를 실행합니다.
2) 세 워크플로 컴파일: 타입 상태, 타입 JSON HTTP, Bus capability 순서로 진행합니다.
3) HTTP 경계 선택: 새 의사결정 서비스는 네이티브 HTTP를, 기존 앱은 Axum 하이브리드를 선택합니다.
4) 도구 추가: 프레임워크 경로가 컴파일된 뒤 CLIVSCode 현황을 사용합니다.
5) 나중에 탐색: Lab/Experimental 예제는 유지보수 경로 뒤에 보며 동일한 지원 약속을 적용하지 않습니다.

No Magic. Just Physics.

Ranvier는 표준 Rust 바이너리로 컴파일됩니다. 코어는 프로토콜 독립을 유지하고 어댑터가 전송 계층을 맡습니다. 제어 흐름은 끝까지 코드에 남아 검증 가능합니다.

소스 보기