애플리케이션: 마스터 이미지 자르기/크기 조정/압축을 통해 반응성이 뛰어나고 최적화된 이미지를 즉시 제공합니다.
현재 부하: 분당 요청 10,000개, 트래픽 ~60MBps.
현재 구성: NginxPlus LB가 맨 위에 위치합니다. nginx->tomcat을 사용하는 여러 앱 서버. 각 앱 서버에서 이미지는 nginx에 캐시됩니다.
현재 문제:
- 캐시가 분산되어 있기 때문에 캐시 적중률이 낮고, 동일한 요청이 동일한 서버에 도달할 확률이 낮습니다.
- 중복 캐싱(허용 가능)
- 캐시 제거는 번거롭습니다. 캐시는 여러 서버에 존재할 수 있으므로 캐시를 제거하려면 모든 앱 서버에서 제거해야 합니다.
잠재적인 솔루션
Nginx Load Balancer 일관된 해싱. 이 접근 방식의 문제점은 트래픽 분산이 고르지 않을 수 있다는 것입니다.
소수의 nginx 서버로 구성된 중간 계층 도입: LB와 앱 서버 사이에 전용 nginx 캐싱 계층을 도입할 수 있습니다. 하지만 이 레이어에 3개의 서버를 유지한다고 가정해 보겠습니다. 여전히 중복 캐싱 및 퍼지 두통 문제가 있지만 크기는 더 낮습니다.
단일 nginx의 경우 디스크 I/O가 문제가 될 수 있음
이 사용 사례를 해결한 경험이 있는 사람이 있습니까? nginx에서는 그렇지 않습니다. 자유롭게 생각을 공유해 보세요.