1. 인프라 구조도를 보면 Cloud Front -> S3 -> Load Balancer를 통과하게 되어있는데, 이 Flow에서 S3 -> Load Balancer에 전달하는 요청 이 어떤 내용인가요?
  1. Reddison을 통한 동시성 제어는 테스트를 어떻게 진행하셨고 어떻게 잘 동작하는지를 확인하셨나요?

*쓰레드 풀: 미리 일정 개수의 쓰레드를 생성해서 사용하는 기법*

** ExecutorService : 병렬 작업 시 여러 개의 작업을 효율적으로 처리하기 위해 제공되는 JAVA 라이브러리*

** ExecutorService에 Task만 지정해주면 친절하게 알아서 ThreadPool을 이용해서 Task를 실행하고 관리* ThreadPool에 있는 Thread수보다 Task가 많으면, 미실행된 Task는 Queue에 저장되고,*

** 실행을 마친 Thread로 할당되어 순차적으로 수행된다.*

** FixedThreadPool : 고정된 개수를 가진 쓰레드풀*

** CountDownLatch : CountDownLatch는 특정 작업을 수행하는 데 있어서 특정 쓰레드로 하여금 대기할 수 있게 해주는 역할을 한다.*

  1. 동시성 제어를 활용시 Redis를 사용하는 것은 좋아보이나, 아키텍쳐를 보면 EC2 인스턴스마다 Redis가 존재하게 되는 것으로 보이는데 Redis를 다른 인스턴스로 분리해야하는 것 아닐까요? 또한, MySQL을 활용한 락과, Redis을 활용한 락 차이를 정확히 알고 계신지도 궁금하네요. 그 부분을 의사 조율 부분에서는 발견할 수 없었습니다.