자바 에서 파일 관리 시스템 FastdFS 상세 설명
파일 을 매개체 로 하 는 많은 온라인 서비스,예 를 들 어 앨범 사이트,동 영상 사이트 등 은 파일 의 저장,동기 화,방문(파일 업로드,파일 다운로드)등 을 포함 하여 대 용량 저장 과 부하 균형 문제 가 수반 될 것 이다.
일상적인 일부 항목 에서 예 를 들 어 사용자 의 KYC 인증 등 을 하려 면 파일,이미지,동 영상 등 을 저장 해 야 한다.이때 OSS 클 라 우 드 서 비 스 를 선택 할 수도 있 고 상대 적 으로 전문 적 인 파일 관리 시스템 을 스스로 구축 할 수도 있다.
FastdFS 는 빅 데이터 양 저장 과 부하 균형 등의 문 제 를 해결 하고 전용 API 를 통 해 접근 해 야 하 는 오픈 소스 의 경량급 분산 파일 시스템 이다.대 용량 파일 저장 문 제 를 만족 시 키 고 고성능 과 높 은 확장 성 을 확보한다.그것 은 상술 한 업무 장면 을 잘 해결 할 수 있다.
FastDFS 의 특성
FastDFS 는 인터넷 맞 춤 형 으로 불필요 한 백업,부하 균형,선형 확장 등 메커니즘 을 충분히 고려 했 고 고가 용,고성능 등 지 표를 중시 했다.FastDFS 를 사용 하면 고성능 파일 서버 클 러 스 터 를 구축 하여 파일 업로드,다운로드 등 서 비 스 를 제공 하기 쉽다.
장점:
4.567917.파일 은 블록 별로 저장 되 지 않 고 파일 과 시스템 의 파일 이 일일이 대응 합 니 다4.567917.파일 내용 에 대해 hash 처 리 를 하고 중복 파일 이 발생 하지 않도록 디스크 공간 을 절약 합 니 다
4.567917.파일 에 직접 저장 하면 파일 내용 을 직접 볼 수 있 고 파일 안전성 이 부족 합 니 다4.567917.데이터 동기 화 에 검증 이 없고 침묵 IO 문제 가 존재 하여 시스템 의 가용성 을 낮 춘 다
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 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.