FastDFS는 파일을 관리하는 오픈 소스 분산 파일 시스템입니다. 파일 저장, 파일 동기화, 파일 액세스(파일 업로드, 파일 다운로드) 등의 기능을 통해 대용량 저장 및 로드 문제를 해결합니다. 균형을 잡다. 특히 사진 앨범 웹사이트, 동영상 웹사이트 등 파일 기반 온라인 서비스에 적합합니다.
FastDFS를 사용하여 분산 파일 시스템을 배포할 때 FastDFS 클라이언트 API를 사용하여 파일을 업로드합니다. , 다운로드, 삭제 및 기타 작업. 동시에 FastDFS HTTP 서버를 통해 HTTP 서비스가 제공됩니다. 그러나 FastDFS의 HTTP 서비스는 상대적으로 단순하고 로드 밸런싱과 같은 고성능 서비스를 제공할 수 없습니다. 따라서 FastDFS의 개발자인 Taobao 설계자 Yu Qing은 Nginx(Nginx라고도 함)에서 사용되는 FastDFS 모듈을 제공합니다. FastDFS 모듈). 사용법은 매우 간단합니다.
FastDFS는 Storage 서버에 파일을 저장하기 위해 Tracker 서버를 사용하지만, 동일한 그룹의 서버는 파일을 복사해야 하므로 Tracker 서버가 파일을 192.168에 업로드한다고 가정합니다. .1.80의 경우 파일 ID가 클라이언트에 반환되었습니다. 이때 백그라운드에서는 파일을 192.168.1.30으로 복사합니다. 복사가 완료되지 않으면 클라이언트는 이 ID를 사용하여 192.168.1.30에서 파일을 검색합니다. 그러면 반드시 오류가 발생합니다. 이 fastdfs-nginx-module은 파일을 검색하기 위해 소스 서버에 대한 연결을 리디렉션하여 복제 지연으로 인한 클라이언트 오류를 방지할 수 있습니다.
FastDFS 서버에는 추적기와 스토리지 노드라는 두 가지 역할이 있습니다. 트래커는 주로 스케줄링 작업을 수행하며 액세스에서 로드 밸런싱 역할을 합니다.
스토리지 노드는 파일을 저장하고 파일 관리의 모든 기능(저장, 동기화 및 액세스 인터페이스 제공)을 완료합니다. 또한 FastDFS는 파일의 메타데이터도 관리합니다. 소위 파일의 메타데이터는 파일의 관련 속성으로, 너비=1024와 같은 키 값 쌍의 형태로 표현됩니다. 여기서 키는 너비이고 값은 1024입니다. 파일 메타데이터는 파일 속성 목록이며 여러 키-값 쌍을 포함할 수 있습니다.
FastDFS 원칙
스토리지 노드는 그룹 방식을 채택합니다. 스토리지 시스템은 하나 이상의 그룹으로 구성되며, 그룹 간의 파일은 서로 독립적입니다. 모든 그룹의 파일 용량의 합은 전체 스토리지 시스템의 파일 용량입니다. 그룹은 하나 이상의 스토리지 서버로 구성될 수 있으며, 그룹 내 스토리지 서버의 파일은 모두 동일합니다. 그룹 내의 여러 스토리지 서버는 중복 백업 및 로드 밸런싱(그룹의 스토리지 용량) 역할을 합니다. 그룹 내에서 용량이 가장 작은 스토리지 서버는 서로 통신하지 않지만, 같은 그룹의 스토리지 서버는 서로 연결하여 파일 동기화를 수행합니다.
그룹에 서버를 추가하면 시스템은 자동으로 기존 파일을 동기화합니다. 동기화가 완료된 후 시스템은 자동으로 새로운 서버로 전환하여 온라인 서비스를 제공합니다.
저장공간이 부족하거나 부족할 경우 동적으로 그룹을 추가할 수 있습니다. 하나 이상의 서버를 추가하고 이를 새 그룹으로 구성하면 스토리지 시스템의 용량이 확장됩니다.
FastDFS에는 추적 서버와 스토리지 서버라는 두 가지 역할만 있습니다. 중앙 노드로서 Tracker 서버의 주요 기능은 로드 밸런싱 및 스케줄링입니다. Tracker 서버는 그룹화, Storage 서버 상태 등의 정보를 메모리에 기록합니다. 파일 인덱스 정보를 기록하지 않으며 메모리를 거의 차지하지 않습니다. 또한, 클라이언트(어플리케이션)와 Storage 서버가 Tracker 서버에 접근하면 Tracker 서버는 메모리에 있는 그룹과 Storage 서버 정보를 스캔한 후 응답을 줍니다. 이를 통해 Tracker 서버가 매우 가볍고 시스템 병목 현상이 발생하지 않는다는 것을 알 수 있습니다.
FastDFS의 스토리지 서버는 일반적으로 다른 파일 시스템에서는 트렁크 서버 또는 데이터 서버라고 합니다. 스토리지 서버는 OS 파일 시스템을 직접 사용하여 파일을 저장합니다. FastDFS는 파일을 블록 단위로 저장하지 않습니다. 클라이언트가 업로드한 파일은 스토리지 서버의 파일과 일대일로 대응합니다(FastDFS의 파일 식별은 그룹 이름과 파일 이름의 두 부분으로 나뉩니다. 필수) #🎜🎜 #
더 많은 Nginx 관련 기술 기사를 보려면Nginx 사용 튜토리얼 컬럼을 방문하여 알아보세요!
위 내용은 fastdfs를 nginx와 결합해야 하는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!