1

캐시 불일치로 인해 문제가되는 6 개의 웹 서버가 있습니다. 모든 서버가 메시지를 게시하여 개체를 무효화 할 수있는 주제가 있다는 캐시 무효화 서비스를 구축 할 생각입니다. 주제를 만드는 데 Amazon SNS를 사용하는 것을 고려 중입니다. 서버가 무효화 메시지를 수신하는서버 간 캐시 무효화

지금, 나는 다음과 같은 사이에 혼란 스러워요 :

  1. 나는 메시지를 수신하는 서버에 대한 SQS 대기열을 사용해야합니다.
  2. HTTP 끝점을 사용하고 해당 경로에서 캐시를 무효화하는 API를 빌드해야합니까? 이 두 방법의 장단점이나 나에게 도움이 될 수있는 다른 방법을 강조 해주십시오.

답변

3

사용하는 경우, http 엔드 포인트가 더 나은 솔루션입니다. SNS에 메시지를 보내면 구독 한 각 끝점은 호스팅하는 새 API 끝점에서 호출되어 캐시를 지 웁니다.

SQS를 사용하는 것이 가장 좋을 것입니다. 사용하려면 6 개의 별도 대기열 (또는 서버 당 하나씩)이 있어야하며, 각 큐에는 항상 응용 프로그램이 있어야합니다. 백그라운드에서 실행하여 새 메시지를 확인하고 메시지를 '당깁니다'- HTTP 끝점은 '밀어 넣기'작업이며 원하는 것입니다.

+0

고맙습니다. 내가 언급하는 것을 잊어 버린 것이있다. NGINX를 사용하여 요청을 6 대의 서버 중 하나로 리디렉션합니다. HTTP 끝점을 사용하고 있으면 해당 항목 중 하나만 서버에 도달하게됩니다. 내 응용 프로그램이 실행될 포트가 확실하지 않습니다. NGINX 서버를 바이 패스하거나 즉시 포트를 찾아서 서버를 공격 할 수있는 방법을 제안 해 주실 수 있습니까? – tanvi