wan link disk store의 아파치 캐시

wan link disk store의 아파치 캐시

문제: 웹사이트에서 많은 디지털 사진을 호스팅하고 싶습니다. 호스트에 있는 디스크 공간보다 더 많은 공간이 있습니다.

배경: 저는 웹사이트를 호스팅하는 vps를 가지고 있는데, 그 기계에는 엄청난 대역폭이 있지만 디스크 공간은 많지 않습니다(50GB 정도). 또한 디스크 공간이 많은 느린 인터넷 회선에 서버가 있습니다.

내 솔루션: 저는 느린 링크를 사용하여 이미지를 컴퓨터에 저장하고 이를 웹 호스트(sshfs 등을 사용하여)에 마운트한 다음 모든 이미지에 대한 심볼릭 링크를 생성하고 서비스를 제공하는 것이 가능할까 생각했습니다. 아파치의 심볼릭 링크. 그런 다음 가장 많이 사용되는 X개의 파일을 찾기 위해 아파치 로그를 스캔하는 스크립트를 생성하고 해당 파일을 웹 서버에 로컬로 복사하여 더 빠르게 만듭니다.

잠시 후 나는 이것이 심야 유형의 아이디어처럼 들린다는 것을 깨닫고 잠을 자기로 결정했습니다. 오늘 아침에는 여전히 약간 이상하게 들리지만 디스크->디스크 캐싱에서 작동하는 일종의 아파치 캐싱 모듈이 있어야 합니다. 그렇죠? (내가 아는 모든 것은 디스크-> 메모리이며, 느린 wan 링크나 느린 로컬 디스크에서 로컬 디스크로 이동하는 대신 중요한 파일을 램으로 이동합니다.)

TL;DR: 이게 정말 멍청한 생각인가요?

답변1

느린 링크 시스템을 인터넷에 노출할 수 있다면 해당 시스템에서도 웹 서버를 실행할 수 있습니다.

이는 sshfs의 오버헤드를 제거한다는 의미입니다.

mod_proxy와 함께 Apache mod_rewrite 모듈을 사용하여 이미지 요청이 서버로 이동하도록 할 수 있습니다.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /(.*)\.(jpg|gif|png) http://slow.server.com/$1.$2 [P] 

RewriteCond 규칙은 요청한 파일이 서버에 없는 경우에만 다시 쓰기를 수행한다고 말합니다. 그런 다음 RewriteRule은 요청이 이미지인 경우 느린 서버에서 가져오라고 말합니다.

그런 다음 별도로 인기 있는 이미지를 추적하여 서버에 업로드하면 됩니다. 존재하는 경우 사용됩니다.

답변2

나는 당신이 찾고 있는 것이 사용량에 따라 캐시 내부에 무엇을 보관해야 하는지 결정하는 일종의 웹 프록시라고 생각합니다.

따라서 어쩌면 mod_proxy또는 mod_cache(심지어 mod_disk_cache)이 여기에서 활용될 수 있습니다.

일반적으로 '프록시' 스크립트를 찾는 것이 '캐시' 스크립트를 검색하는 것보다 원하는 내용을 더 많이 제공할 것이라고 생각합니다.

관련 정보