Skip to content

대규모 데이터의 인프라

RustFS는 확장을 위해 설계되었습니다. 기술적 규모, 운영 규모, 경제적 규모. 기본 규모.

RustFS는 클라우드 네이티브로 설계되어 Kubernetes 등 외부 오케스트레이션 서비스에서 관리하는 경량 컨테이너로 실행될 수 있습니다. 전체 서버는 ~100MB의 정적 바이너리 파일이며, 높은 부하에서도 CPU와 메모리 리소스를 효율적으로 사용합니다. 결과적으로 공유 하드웨어에서 많은 수의 테넌트를 공동 호스팅할 수 있습니다.

RustFS 아키텍처 다이어그램

RustFS는 어디서든 모든 클라우드에서 실행할 수 있지만, 일반적으로 로컬 연결 드라이브(JBOD/JBOF)가 있는 상용 서버에서 실행됩니다. 클러스터의 모든 서버는 기능적으로 동등합니다(완전 대칭 아키텍처). 네임 노드나 메타데이터 서버가 없습니다.

RustFS는 데이터와 메타데이터를 객체로 함께 쓰며, 메타데이터 데이터베이스가 필요하지 않습니다. 또한 RustFS는 모든 기능(삭제 코딩, bitrot 검사, 암호화)을 인라인, 엄격한 일관성 작업으로 수행합니다. 그 결과 RustFS는 비범한 탄력성을 가집니다.

각 RustFS 클러스터는 분산 RustFS 서버의 집합이며, 각 노드는 하나의 프로세스를 가집니다. RustFS는 사용자 공간에서 단일 프로세스로 실행되며, 경량 코루틴을 사용하여 높은 동시성을 달성합니다. 드라이브는 삭제 집합으로 그룹화되고(여기서 삭제 계산기 참조), 결정론적 해시 알고리즘을 사용하여 이러한 집합에 객체를 배치합니다.

RustFS는 대규모, 다중 데이터센터 클라우드 스토리지 서비스를 위해 설계되었습니다. 각 테넌트는 자체 RustFS 클러스터를 실행하여 다른 테넌트와 완전히 격리되어, 업그레이드, 업데이트 및 보안 이벤트로부터 어떤 중단도 차단할 수 있습니다. 각 테넌트는 지리적 위치에 걸쳐 연합된 클러스터를 통해 독립적으로 확장됩니다.

Apache License 2.0 하에 출시되었습니다.