조금 오래되긴 했지만 이전에 캐시에 대한 글을 작성하면서 로컬 캐시와 글로벌 캐시의 특징을 다룬 적이 있었다. 이때, 로컬 캐시는 일반적으로 서버 어플리케이션의 메모리에 함께 저장되기 때문에 캐시를 사용할 때 별도의 네트워크 IO가 발생하지 않아 글로벌 캐시에 비해서 더 빠른 성능을 보여준다고 했었다. 하지만 서버가 여러 대가 존재한다면, 동일한 내용들을 복수의 서버에 저장하게 되어서 자원 낭비가 발생할 수 있고, 캐시에 저장된 내용이 변경될 경우엔 다른 서버의 캐시들도 변경해줘야 하는 문제가 발생한다. 여기서 말한 캐시에 저장된 내용이 변경될 경우엔 다른 서버의 캐시들도 변경해줘야 하는 문제가 이번 글에서 다뤄볼 로컬 캐시의 동기화 문제이다. 사실 어떤 일이 발생할 지에 대해서는 이 문장을 읽기만 해..
cache
캐시란?캐시는 애플리케이션의 성능을 대폭 상승시켜 주는 대표적인 기술입니다. 조회 성능이 더 느린 계층에서 발생하는 병목 현상을 줄이기 위해 조회 성능이 더 빠른 계층에 임시로 데이터를 저장하는 방법입니다. 컴퓨터 구조에서의 메모리 계층에서 캐시라는 개념을 처음 접할 수 있지만, 저같은 백엔드 개발자는 DB(스토리지)에 저장된 것을 RAM으로 저장하여 조회 성능을 상승 키시는 것이 생각나네요. 조회 성능이 뛰어나게 된다면, 모든 정보를 캐싱하면 우리의 서비스는 기존보다 더 많은 트래픽에 대응할 수 있는 서비스로 성장할 수 있겠죠. 하지만 모든 정보를 캐싱하는 것을 불가능에 가깝습니다. 바로 돈 때문입니다. 우리가 컴퓨터를 구매하려고 할 때, SSD가 더 빠르지만 HDD가 훨씬 싸기때문에, 대량의 디스..