2017-10-02 9 views
-1

는 동적으로 무거운 자원 (큰 이미지 예를)로드 할 수있는 방법을 찾기 위해 노력하고있어앱 서버 1 개와 CDN 없음을 사용하면 전 세계 다른 지역의 사용자에게 무거운 리소스 (예 : 큰 이미지)를 동적으로로드하는 방법은 무엇입니까? 마음에 다음과 같은 제한, 세계의 다른 부분에서 사용자 :

  1. 나는 단지 1 애플리케이션 서버 수 (여러 개의 응용 프로그램 서버에 연결하는로드 밸런서를 사용하는 대신).
  2. 그러나 pics/pdfs/videos와 같이 무거운 정적 리소스를 저장하는 여러 저장소 서버 (웹 서버 실행)를 가질 수 있습니다.
  3. (예산 문제로 인해) 상용 CDN을 사용할 수 없습니다. 다른 스토리지 서버로 이동하기 위해 서로 다른 IP의 사용자를 채널로 아파치의 mod_rewrite 규칙을 사용하여 응용 프로그램 서버에서

    1. :

    현재 나는이 개 아이디어를 가지고있다.

  4. 우리는 케이크 프레임 워크와 함께 PHP를 사용하는 응용 프로그램 서버의 코드를 수정하므로 클라이언트 사용자의 IP에 따라 다른 리소스 URL이 렌더링됩니다.

내 질문에 어떤 질문을 하시겠습니까? 또는 결과를 얻기 위해 다른 방법을 추천 하시겠습니까? ,

https://www.cloudflare.com/plans/

불가능 아직도 그 경우 :

+1

, 당신은 몇 가지 CDN을 감당할 수 있어야 다음 Splitting the Cache Across Multiple Hard Drives 섹션, 하드웨어를 기반으로, 서버 옵션이 될 수 있습니다. 기본 이슈는 성능 향상을 위해 속도를 교환한다는 것입니다. mod_rewrite와 app mod는 렌더링시 리소스에 비용이 들게됩니다. 구현하기가 더 쉽기 때문에 mod_rewrite를 선택했습니다. – LordNeo

+0

코멘트 주셔서 감사합니다! 왜냐하면 나는 중국인에게 서비스를 제공해야하기 때문에 CDN은 설치하기가 조금 더 어렵습니다. 중국 정부. 모든 웹 사이트가 필요합니다. 도메인 이름이있는 한 "ICP"라이센스가 있어야합니다. 우리는 그것을 적용 할 수 있지만 타이밍은 우리에게 중요한 문제입니다. 또한 ICP를 적용해야하는 중국 법인도 없습니다. 예 : https://www.amazonaws.cn/en/about-aws/china/ – user8369660

+0

글쎄, 내 모든 힘이 당신에게 간다. mod_rewrite는 여전히 구현하기 쉽습니다. "큰 자산"폴더에 조건을 지정하면 완료됩니다. – LordNeo

답변

-1

당신은 또한 당신에게 여기 https를 사용하는 병약 한 경우에 유효한 인증서, 더 많은 정보를 줄 것이다 무료로 계획을 사용할 수 있습니다 CloudFlare하는 해보세요 여기, Nginx에 캐시 모듈을 사용하여 더 자세한 내용을 자신의 CDN을 만들려고 수 :

https://www.nginx.com/blog/nginx-caching-guide/

확인 여러 스토리지 서버를 줄 수있는 경우에

proxy_cache_path /path/to/hdd1 levels=1:2 keys_zone=my_cache_hdd1:10m 
       max_size=10g inactive=60m use_temp_path=off; 
proxy_cache_path /path/to/hdd2 levels=1:2 keys_zone=my_cache_hdd2:10m 
       max_size=10g inactive=60m use_temp_path=off; 

split_clients $request_uri $my_cache { 
       50%   "my_cache_hdd1"; 
       50%   "my_cache_hdd2"; 
} 

server { 
    # ... 
    location/{ 
     proxy_cache $my_cache; 
     proxy_pass http://my_upstream; 
    } 
} 
+0

정말이 질문에 "CDN 없음"요구 사항에 맞지 않습니다. – ceejayoz

+0

@ceejayoz 그러면 CDN 태그를 제거해야합니까?어떤 경우 든 – nbari

+0

, @nbari 정보를 더 제공해 주셔서 감사합니다! – user8369660