자바 에서 파일 관리 시스템 FastdFS 상세 설명

FastdFS 가 뭐야?
파일 을 매개체 로 하 는 많은 온라인 서비스,예 를 들 어 앨범 사이트,동 영상 사이트 등 은 파일 의 저장,동기 화,방문(파일 업로드,파일 다운로드)등 을 포함 하여 대 용량 저장 과 부하 균형 문제 가 수반 될 것 이다.
일상적인 일부 항목 에서 예 를 들 어 사용자 의 KYC 인증 등 을 하려 면 파일,이미지,동 영상 등 을 저장 해 야 한다.이때 OSS 클 라 우 드 서 비 스 를 선택 할 수도 있 고 상대 적 으로 전문 적 인 파일 관리 시스템 을 스스로 구축 할 수도 있다.
FastdFS 는 빅 데이터 양 저장 과 부하 균형 등의 문 제 를 해결 하고 전용 API 를 통 해 접근 해 야 하 는 오픈 소스 의 경량급 분산 파일 시스템 이다.대 용량 파일 저장 문 제 를 만족 시 키 고 고성능 과 높 은 확장 성 을 확보한다.그것 은 상술 한 업무 장면 을 잘 해결 할 수 있다.
FastDFS 의 특성
FastDFS 는 인터넷 맞 춤 형 으로 불필요 한 백업,부하 균형,선형 확장 등 메커니즘 을 충분히 고려 했 고 고가 용,고성능 등 지 표를 중시 했다.FastDFS 를 사용 하면 고성능 파일 서버 클 러 스 터 를 구축 하여 파일 업로드,다운로드 등 서 비 스 를 제공 하기 쉽다.
장점:
4.567917.파일 은 블록 별로 저장 되 지 않 고 파일 과 시스템 의 파일 이 일일이 대응 합 니 다4.567917.파일 내용 에 대해 hash 처 리 를 하고 중복 파일 이 발생 하지 않도록 디스크 공간 을 절약 합 니 다
  • 다운로드 파일 은 HTTP 프로 토 콜 을 지원 하 며 내 장 된 웹 서버 나 외부 웹 서버 를 기반 으로 할 수 있 습 니 다
  • 온라인 확장 지원,동적 추가 볼 륨.파일 중복 백업 과 부하 균형 을 지원 합 니 다4.567917.저장 서버 에 파일 속성(meta-data)V 2.0 네트워크 통신 을 저장 할 수 있 습 니 다.libevent 를 사용 하여 동시 방문 을 지원 하고 전체적인 성능 이 좋 습 니 다단점:
    4.567917.파일 에 직접 저장 하면 파일 내용 을 직접 볼 수 있 고 파일 안전성 이 부족 합 니 다4.567917.데이터 동기 화 에 검증 이 없고 침묵 IO 문제 가 존재 하여 시스템 의 가용성 을 낮 춘 다
  • 단일 스 레 드 데이터 동기 화 는 작은 파일(4KB 에서 500 MB 사이)만 저장 하기에 적합 합 니 다
  • 4.567917.백업 수 는 저장 볼 륨(그룹)에 따라 결정 되 고 파일 백업 수 설정 유연성 이 부족 합 니 다4.567917.단일 마 운 트 지점 이상 은 전체 저장 노드 의 오프라인 을 초래 할 수 있 습 니 다다 기관실 용재 지원 이 부족 하 다4.567917.정태 적 인 부하 균형 체제장점 과 단점 이 병존 하지만 중 소형 시스템 에 대해 서 는 충분히 사용 할 수 있다.
    FastdFS 역할
    패스 트 DFS 를 처음 접 하거나 배치 한 친 구 는 왜 그렇게 많은 서 비 스 를 배치 해 야 패스 트 DFS 를 사용 할 수 있 는 지 의문 이 드 는 경우 가 많다.패스 트 DFS 캐릭터 구성 으로 결정 됐다.
    FastDFS 시스템 은 세 가지 역할 이 있 습 니 다.추적 서버(Tracker Server),저장 서버(Storage Server)와 클 라 이언 트(Client)입 니 다.
    Http 를 통 해 접근 하면 통상 적 으로 Nginx 서 비 스 를 배치 해 야 한다.
    Tracker Server:추적 서버 는 주로 스케줄 링 작업 을 하여 균형 잡 힌 역할 을 합 니 다.모든 storage server 와 group 을 관리 하 며,각 storage 는 시작 후 Tracker 에 연결 하여 자신 이 속 한 group 등의 정 보 를 동기 화하 고 주기 적 인 심장 박동 을 유지 합 니 다.그것 은 클 라 이언 트 와 데이터 서버 가 상호작용 하 는 관건 이다.
    Storage Server:저장 서버,주로 용량 과 백업 서 비 스 를 제공 합 니 다.group 단위 로 각 group 내 에 여러 대의 storage server 가 있 고 데 이 터 는 서로 백업 할 수 있 습 니 다.파일 및 속성(Meta Data)은 모두 이 서버 에 저 장 됩 니 다.
    Client:클 라 이언 트,다운로드 데이터 요청 을 업로드 하 는 발기인 은 전용 인 터 페 이 스 를 통 해 TCP/IP 프로 토 콜 을 사용 하여 추적 기 서버 나 저장 노드 와 데이터 상호작용 을 합 니 다.
    다음은 한 장의 그림 을 통 해 FastdFS 의 다양한 캐릭터 가 전체 유통 과정 에서 의 역할 을 살 펴 본다.

    위의 그림 에서 Tracker 는 스케줄 러 센터 에 해당 하 며 업로드 와 다운 로드 는 이 를 통 해 할당 지정 된다.
    위 에서 언급 한 Nginx 는 클 라 이언 트 가 보통 Ngnix 등 정적 서버 를 사용 하여 캐 시 를 호출 하거나 일부분 을 만 듭 니 다.뒤에 환경 을 만 들 때 Nginx 를 기반 으로 합 니 다.
    Storage cluster 부분 은 Volume 1,Volume 2.
    업로드 과정
    서비스 가 시작 되면 Storage Server 는 정기 적 으로 Tracker Server 에 저장 정 보 를 보 냅 니 다.Tracker Server 가 클 러 스 터 형식 이 라면 각 Tracker 간 의 관 계 는 대등 하 며 클 라 이언 트 가 업로드 할 때 임의의 Tracker 를 선택 하면 됩 니 다.
    전체 프로 세 스:클 라 이언 트 가 Tracker 에 업로드 작업 을 요청 할 때 저장 서버 관련 정 보 를 얻 습 니 다.주로 IP 와 포트 를 포함 합 니 다.반환 정보 에 따라 파일 을 업로드 하고 저장 서버 를 통 해 디스크 를 기록 하 며 클 라 이언 트 file 에 게 되 돌려 줍 니 다.id,경로 정보,파일 이름 등 정보.
    대응 하 는 흐름 도 는 다음 과 같다.

    그 중에서 Tracker 는 클 라 이언 트 가 파일 을 업로드 하 라 는 요청 을 받 았 을 때 이 파일 에 파일 을 저장 할 수 있 는 group 을 할당 합 니 다.group 을 선택 하면 클 라 이언 트 에 group 중의 어떤 storage server 를 할당 할 지 결정 합 니 다.
    storage server 를 할당 한 후 클 라 이언 트 가 storage 에 파일 쓰기 요청 을 보 내 면 storage 는 파일 에 데이터 저장 디 렉 터 리 를 할당 합 니 다.그리고 파일 에 fileid 를 할당 하고 마지막 으로 상기 정보 에 따라 파일 이름 저장 파일 을 생 성 합 니 다.
    생 성 된 파일 이름 의 기본 형식 은 다음 과 같 습 니 다.

    다운로드 프로 세 스
    업로드 와 마찬가지 로 다운로드 할 때 클 라 이언 트 는 임의의 Tracker server 를 선택 할 수 있 습 니 다.
    클 라 이언 트 가 파일 이름 정 보 를 가지 고 Tracker 를 요청 합 니 다.Tracker 는 파일 이름 에서 파일 의 group,크기,생 성 시간 등 정 보 를 분석 한 다음 storage 를 선택 하여 서비스 처리 요청 을 하고 해당 파일 을 되 돌려 줍 니 다.
    대응 하 는 흐름 도 는 다음 과 같다.

    웹 기반 http 요청 이 라면 이 곳 의 Client 는 Nginx 프 록 시 서비스 일 수 있 습 니 다.아래 의 이 그림 은 관련 절 차 를 더욱 형상 적 으로 묘사 하 였 다.

    작은 매듭
    FastdFS 의 기본 적 인 특성 과 원리 에 대한 소 개 를 마 쳤 으 며,세 캐릭터 와 두 프로 세 스에 중점 을 두 고 세 캐릭터 를 두 프로 세 스에 융합 시 켜 분석 했다.이 큰 방향 을 알 게 된 후에 집행 의 세부 부분 에 대해 점차적으로 이해 하고 파악 할 수 있다.
    자바 의 파일 관리 시스템 인 FastDFS 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 자바 파일 관리 시스템 인 FastDFS 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기