찾다

 >  Q&A  >  본문

시스템 아키텍처 - 정적 파일 처리를 위한 nginx 아키텍처에 대한 질문

전면에는 고가용성을 위해 keepalive를 사용하는 두 개의 nginx 서버 N1 및 N2가 있습니다
백엔드는 4개의 Tomcat T1, T2, T3 및 T4로 구성된 클러스터입니다(memcached는 세션 공유 문제를 해결하는 데 사용됩니다)

코드에는 처리하기 더 쉬운 일부 js/css 및 기타 정적 파일이 있으며 소스 코드는 이 6개 서버 간에 동기화될 수 있습니다.

시스템은 pdf/doc와 같은 많은 수의 파일을 업로드하고 나중에 미리 보려면 swf 형식으로 변환해야 하므로 T3 및 T4는 특수 처리에 사용됩니다. 그 외 일반업무는 T1, T2에 맡겨주세요

여기서 문제가 발생합니다. 클라이언트는 pdf 또는 swf 파일에 액세스하려고 하며 요청은 nginx로 전송됩니다. 로컬에는 js/css와 같은 정적 파일만 있고 파일이 없기 때문입니다. doc/pdf이므로 T3, T4에는 Proxy_pass 위치를 사용하지만 T3 및 T4에는 tomcat만 있으므로 정적 파일 처리에는 확실히 효율적이지 않습니다. 무엇을 해야 할까요?

두 가지 아이디어가 있습니다:

  1. 공유 파일 시스템을 사용하지만 안정성에 대한 조사가 필요합니다
  2. 백엔드에 아파치를 사용하세요

다들 어떻게 해결하셨는지 모르겠네요?

滿天的星座滿天的星座2752일 전502

모든 응답(2)나는 대답할 것이다

  • 習慣沉默

    習慣沉默2017-05-16 17:26:18

    이 문제가 곧 해결될 것입니까? 이에 대한 많은 시나리오가 있어야 하며 참조할 수 있는 기성 솔루션이 있습니다

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:26:18

    가장 간단한 방법은 doc/pdf 리소스에 대한 새 도메인 이름 또는 하위 도메인 이름을 지정하고, nginx를 구성하고, 새 도메인 이름에 대한 모든 요청을 t3 및 t4로 전달하는 것입니다.

    하지만 여기서 질문이 있습니다. 사용자가 t3에 파일을 업로드한 후 다음에 파일에 액세스할 때 nginx가 t4에 요청을 전달하면 어떻게 될까요?
    그렇다면 t3와 t4 사이에 동기화 메커니즘이 있습니까?
    이 문제를 해결하는 몇 가지 방법이 있습니다:
    1. 삼바 등 말씀하신 공유 파일 시스템을 사용하시고, t3, t4의 파일을 여기에 업로드해주세요
    2. 두 컴퓨터 간에 파일을 수동으로 동기화합니다. 장점은 데이터가 백업과 동일하다는 점이며 단점은 언급되지 않습니다
    3. 초기 문제도 해결될 수 있도록 Youpai와 같은 CDN을 사용해 보세요
    4. . . .

    회신하다
    0
  • 취소회신하다