이미지/파일 서버는 이름에서 알 수 있듯이 파일을 저장하는 데 사용됩니다. 일부는 Alibaba Cloud의 기존 서비스를 사용하고 일부는 파일을 파일 서버에 게시하고 파일 서버의 애플리케이션을 사용하여 파일을 저장합니다. 방법은 동일합니다. 아래 에디터로 살펴보겠습니다.
앞에 쓰기
이름 그대로 이미지/파일 서버를 사용하여 파일을 저장합니다. 사람들은 Alibaba Cloud의 기존 서비스를 사용하고, 일부는 파일 서버에 파일을 게시하고, 파일 서버의 애플리케이션을 사용하여 이를 수신하고 저장합니다. 베테랑 운전자들은 이미 다양한 서버에서 나쁜 게임을 하고 있습니다. 여러 개의 이미지/파일 서버를 사용할 때의 몇 가지 문제는 다음과 같습니다.
1. 웹에서 업로드한 파일을 파일 서버에 게시하는 방법, 속도, 대역폭 및 시간이 얼마나 소요되는지.
2. 각 이미지 서버에 파일을 균등하게 분배하는 방법.
3. 새로운 이미지 서버를 확장하고 배포되는 콘텐츠에 미치는 영향을 최소화하는 방법.
한편으로는 경험이 풍부한 운전자들이 나에게 몇 가지 의견을 줄 수 있기를 바랍니다. 다른 한편으로는 새로운 운전자들과 공유하고 자신의 여행을 기록하고 싶습니다.
첫 번째 순간에 최종 목표 결정
1. 각 파일 서버는 스토리지 기능뿐만 아니라 대역폭 사용량과 디스크를 줄이기 위한 외부 서비스 기능도 제공합니다. IO 소비.
2. 간단하고 쉬운 수평 확장성 제공
3. 비동기비동기 IO는 스레드가 차단되지 않도록 합니다.
4. 파일이 사진 서버에 빨리 도착합니다
3분만에 본인
1.뉴찍기 Http Post Picture to Image server 방식
2. 해시 모듈로 알고리즘을 사용하지 마세요
3. 서버, 소량이라도
5분 안에 구현 방법 결정
1. 파일 서버 디스크를 특정 폴더에 "네트워크 디스크"로 공유합니다. 즉, 웹 서버만 폴더에 액세스할 수 있는 권한이 있습니다. LAN 또는 Alibaba Cloud 공유 폴더 내에서 폴더를 공유하는 방법을 참조할 수 있습니다.
2. IIS 가상 디렉터리를 통해 물리적 경로를 네트워크 디스크로 지정합니다. 공유 폴더는 Tcp/Ip 프로토콜과 Netbios 프로토콜을 사용하여 통신한다는 것을 알고 있습니다.
3. 네트워크 디스크 ID(사용자 이름 및 비밀번호)에 액세스하도록 WebConfig를 구성해야 합니다.
4. 첫 번째 단계에서 공유된 파일은 다음 중 하나의 파일 서버에 배포됩니다. URL 경로를 노출하려면 IIS 파일 아래의 WebApps를 사용하세요. IIS는 파일 읽기를 사용하지 않고서는 상위 폴더의 어떤 콘텐츠도 얻을 수 없다는 것을 알고 있기 때문입니다.
4. 파일명에 따라 이미지 위치를 균등하게 분배하는 방법 - 파일 접미사 이름 방식은 접미사 이름은 "파일명-01"(1번 서버)을 사용합니다. "파일 이름-02"(서버 번호 2)를 사용하면 Random을 사용하여 임의의 번호를 얻습니다. 임의의 번호가 무엇이든 서버 번호가 있습니다. 무작위로 100만 번 여러 번 테스트한 결과 각각 약 33만 번에 걸쳐 1, 2, 3이 얻어져 밸런스가 확보됐다. 나중에 확장할 때 임의의 숫자를 몇 개만 더 열면 파일을 이동하거나 다시 해시할 필요가 없습니다. 그리고 서버 수를 수평적으로 확장한 후에는 세 개의 서버가 더 이상 파일을 저장하지 않도록 하고 Random 범위를 조정할 수 있도록 하려고 합니다. 파일 이름은 이미 데이터베이스 또는 캐시에 저장되어 있으며 접미사 이름이 있습니다. 이미지 URL을 프론트 데스크에 반환할 때 파일 서버 IP 또는 도메인 이름만 철자하면 됩니다. 접미사 이름에.
7분째 단계를 따르세요
1. FileServerApp을 배포합니다. 해당 기능은 이미지에 URL을 노출하는 것입니다. 매우 간단합니다. Asp.Net 빈 프로젝트는 이미지를 저장할 폴더를 만듭니다. 자세한 내용은 마지막 섹션의 배포 다이어그램을 참조하세요.
2. 폴더 공유
를 구현했다고 가정합니다. 3. IIS 사이트 아래에 새 가상 디렉터리를 만듭니다. 공유 폴더의 네트워크 네트워크 경로를 가리킵니다
4. Webconfig
5. Server.MapPath를 사용하여 FileServer2의 네트워크 경로를 가져오고, 파일 읽기 및 쓰기 방법을 사용하여 디렉터리의 파일을 읽고 씁니다.
6. 파일 쓰기에는 Async를 사용하는 것이 좋습니다. 비동기 IO는 IO 요청 패킷을 네트워크 드라이버 또는 디스크 드라이버로 보낸 후 다른 작업을 처리하기 위해 반환됩니다. 나중에 파일이 성공적으로 기록되면 상태 시스템이 컨텍스트를 복원하고 동기 방식으로 실행을 계속하므로 웹 서버의 처리량이 크게 향상될 수 있습니다.
핵심은 맨 마지막에 적어주세요
아직 애매한 부분이 있다면 여기까지 읽어보시고 모두 이해하세요
【관련 추천】
2.ASP 튜토리얼
위 내용은 여러 사진/파일 서버의 구현 프로세스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!