이미지 호스팅/제공을 확장하는 방법은 무엇입니까?

이미지 호스팅/제공을 확장하는 방법은 무엇입니까?

에 이런 질문을 했어요스택 오버플로여기에서 시도해 보라고 제안되었습니다.

저는 사용자들이 사진을 업로드할 수 있는 웹사이트를 구축 중이고 업로드된 사진을 썸네일로 변환할 수도 있습니다.

미리 계획을 세우면 웹사이트가 인기를 얻으면 이미지(원본과 썸네일 모두)가 여러 서버에 저장되고 제공되도록 확장하려면 어떻게 해야 합니까? 어쩌면 클러스터일까요? 이 문제에 도움이 될 오픈 소스 소프트웨어가 있습니까?

감사해요.

답변1

나중에 좋은 옵션을 가지기 위해 할 수 있는 가장 쉬운 일은 이미지가 수정될 때 결코 동일한 파일 이름을 유지할 수 없는 방식으로 소프트웨어를 작성하는 것입니다. 이미지를 변경하면 항상 파일 이름이 변경되어야 합니다. 즉, 자체 캐시나 콘텐츠 전달 네트워크를 통해 매우 긴 캐시 수명을 설정할 수 있으므로 필요한 디스크 읽기 횟수가 크게 줄어듭니다. (이미지가가지다완전히 삭제됩니다.)

수평 확장을 허용하려면 이미지를 많은 수의 그룹(100개 이상)으로 나누고 각 이미지의 경로 앞에 해당 이미지가 속한 그룹을 붙입니다. 지금은 동일한 서버에서 모든 그룹을 제공할 수 있지만 나중에는 이제 로드 밸런서를 사용하여 이미지 그룹을 기반으로 트래픽을 다른 서버로 전달하는 것이 상당히 쉬워질 것입니다. 이미지에 클러스터형 파일 시스템을 사용하지 않을 것입니다. 왜냐하면 복잡성이 추가되고 여러 서버와 일부 로드 밸런서 규칙을 사용하여 로드를 분산시키는 것이 더 쉬울 것이기 때문입니다.

관련 정보