Blockchain
Rust로 인덱서 SDK 만들기 - 파이프라인 오케스트레이터 설계
블록체인 인덱서란? 인덱서 아키텍처 Deep Dive 이력 테이블 vs 스냅샷 테이블 **Rust로 인덱서 SDK 만들기** (현재 글) Diesel ORM 실전 활용 멱등성 있는 인덱서 핸들러 설계
Blockchain Indexer Series(4 / 6)
시리즈 목차
- 블록체인 인덱서란?
- 인덱서 아키텍처 Deep Dive
- 이력 테이블 vs 스냅샷 테이블
- Rust로 인덱서 SDK 만들기 (현재 글)
- Diesel ORM 실전 활용
- 멱등성 있는 인덱서 핸들러 설계
SDK가 필요한 이유
인덱서마다 반복되는 인프라 코드(gRPC 재연결, 버전 추적, 배치 저장)가 너무 많습니다. SDK로 공통화를 하면 팀 전체 안정성이 올라갑니다.
핵심 구성
- 파이프라인 오케스트레이터
- 도메인 핸들러 Trait
- 채널 기반 step 연결
- 설정/헬스/복구 인프라
핸들러 인터페이스 설계 원칙
process(context) -> Result<Option<context>>Some: 다음 단계 전달None: 필터링 드롭
이 패턴이면 확장성과 제어가 단순합니다.
채널 기반 처리의 장점
- 단계별 비동기 병렬화
- 백프레셔 자동 전파
- 장애 단계 격리
운영 체크리스트
- 시작 버전 결정 로직 표준화
- 재시작 시 정확히 이어받기
- 처리량/지연/실패율을 단계별로 계측
- 도메인 핸들러는 순수 로직에 집중
결론
좋은 SDK는 기능 추가보다 "실패했을 때 예측 가능한 동작"을 제공합니다.