nginx - 다운로드 서버 트래픽 밸런싱에 대해 질문이 있으십니까?
为情所困
为情所困 2017-05-16 17:22:10
0
1
449

다음 요구 사항을 해결하는 방법은 무엇입니까?

3개의 nginx 서버가 있습니다

X 중 하나가 웹 서버로 사용됩니다

다른 두 개의 첨부 파일 서버는 A와 B이며 각각 다른 첨부 파일을 저장합니다.
A와 B는 각각 도메인 이름
download-a.xxx.com
download-b.xxx.com

에 바인딩됩니다.

웹사이트 방문 후 123.zip 파일을 다운로드해야 하는 경우
다운로드 링크는 http://bbs.xxx.com/123.zip입니다. (실제 다운로드 주소가 아님을 참고하세요)

하지만 이 123.zip 파일이 어느 서버 A 또는 B에 있는지는 알 수 없습니다.
실제 다운로드 주소는 download-a.xxx.com/123.zip 또는 download-b.xxx.com/123일 수 있습니다. zip
이 파일이 없을 수도 있습니다

요구 사항 및 목적: A와 B의 내보내기 대역폭이 제한되어 있으므로 파일은 서로 다른 시스템에 배치되고 A와 B의 대역폭과 저장 공간이 효과적으로 활용됩니다. (A와 B의 파일이 동일한 경우 파일을 반복적으로 저장하려면 A와 B의 디스크 공간도 낭비됩니다.) 판단을 통해 파일이 어디에 있는지 찾아서 스토리지 서버에서 직접 고객에게 파일을 보내도록 하시기 바랍니다

질문 1:
웹사이트의 PHP 코드를 사용하여 파일이 A 또는 B 서버에 있는지 확인하고 페이지에 실제 주소가 표시되고 고객이 직접 다운로드하기 위해 클릭하면 어떻게 작성합니까? PHP 코드?

질문 2:
위의 방법이 불가능할 경우 A와 B 앞에 nginx 서버 C를 사용하여 요청을 처리할 수 있습니까? 이는 역방향 프록시 역할과 동일합니다

예를 들어
사용자가 다운로드할 페이지에서 리소스 링크 http://bbs.xxx.com/123.zip을 클릭합니다. http://bbs.xxx.com은 서버 C에 바인딩된 도메인 이름입니다. C는 그렇지 않습니다. 데이터 자체를 저장하지 마십시오.
C는 요청을 받은 후 데이터가 A 또는 B에 있는지 확인합니다. A에 있으면 C는 A에게 직접 자신의 장소에 있음을 알리고 C를 거치지 않고 사용자에게 직접 파일을 보내달라고 A에게 요청합니다. nginx가 위 요구사항을 충족할 수 있나요?
가장 중요한 것은 대상 서버가 사용자의 브라우저에 직접 파일을 반환하도록 하는 것입니다. C의 트래픽과 대역폭을 사용하지 않고도 이를 달성할 수 있습니까?

为情所困
为情所困

모든 응답(1)
仅有的幸福

파일 이름에서 저장 위치를 ​​철회할 수 있습니다. 예를 들어 x번째 비트를 설정하면 A/B 서버에 저장된다는 의미입니다.

파일명만 보고 판단하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿