😖2022.04.08
일일 회고 56회차
Last updated
일일 회고 56회차
Last updated
이번 논문 세미나 시간에 내 졸업 논문 주제의 시스템 아키텍처와 응답 캐싱 과정을 설명하고 피드백을 받기 위해 어제 아키텍처 설계를 마쳤으며 오늘은 응답 캐싱 과정을 설계하는 것을 진행했다.
응답 캐싱은 캐싱이 되기 전과 후의 경우가 존재하며, 캐싱이 안되어 있는 경우의 과정은 다음과 같다.
Gateway-Cache-Method
헤더 정보를 활용해 Query 캐싱인지 Command 캐싱인지를 전달한다.
Gateway-Cache-Control
헤더 정보를 활용해 캐시 만료 시간을 전달한다.
API가 이전에 요청이 되어 캐싱된 이력이 있는지, In-Memory DB로부터 캐시 정보를 조회한다.
캐시 정보가 존재하지 않으므로 Gateway는 Application으로 요청을 전달한 후 응답을 통해서 데이터를 수신받는다.
위의 과정은 캐싱이 안되어 있는 경우의 과정이지만, 만약 캐싱이 되어 있다면 (2)번 과정에서 In-Memory DB로부터 데이터를 조회하여 곧바로 Client에게 응답하게 된다.
현재는 캐싱 과정을 매우 간단하게 과정을 나타냈지만, 실제 In-Memory DB에 데이터를 어떻게 저장할 것이며 효율적으로 캐싱하는 방법에 대해 좀 더 고민이 필요하다.
또한 현재는 데이터를 조회할 때의 캐싱 과정만 설계했지만, 데이터를 추가할 때의 캐싱 과정도 구상해야 한다.
캐싱 과정 구체화하기
Command 캐싱 과정 설계하기