541
13
장
확장
나중 쓰기
나중 쓰기
write
-
behind
캐시를 사용하면 캐시 자체가
먼저먼저
업데이트된 다음 원본이 업데이트되며,
개념적으로 캐시를 버퍼로 생각할 수 있다. 캐시에 쓰는 것이 원본을 업데이트하는 것보다 빠
르다. 따라서 결과를 캐시에 기록해 후속적으로 발생하는 읽기를 더 빠르게 만들고, 나중에 원
본이 업데이트될 것을 예상한다.
나중 쓰기 캐시를 둘러싼 주요 우려 사항은 데이터 손실 가능성이다. 캐시 자체의 내구성이 떨
어지면 데이터가 원본에 기록되기 전에 손실될 수 있다. 또한 우리는 이제 흥미로운 지점에 와
있다. 여기서 원본이란 무엇일까? 원본은 데이터의 출처가 되는 마이크로서비스일 것으로 예
상하지만, 캐시를 먼저 업데이트하면 캐시가 실제로 원본이 될까? 진실의 출처는 어떤 것일
까? 캐싱을 사용할 때는 캐싱된 데이터 (잠재적으로 오래될 수 있는 )와 실제로 최신으로 간주
할 수 있는 데이터를 구분하는 것이 중요하다. 마이크로서비스의 맥락에서 나중 쓰기 캐시를
사용하면 이러한 구분이 훨씬 덜 명확해진다.
나중 쓰기 캐시는 프로세스 내부의 최적화에 자주 사용되지만 마이크로서비스 아키텍처에는
거의 사용되지 않는데, 부분적으로는 더 간단한 다른 형태의 캐싱으로도 충분하기 때문이기
도 하지만 주로 원본에 쓰기 전에 캐싱된 데이터의 손실을 처리하는 것이 복잡하기 때문이기도
하다.
13.4.613.4.6
캐싱의 황금 법칙 캐싱의 황금 법칙
너무 많은 곳에 캐시를 만들지 않도록 주의하라! 새로운 데이터의 출처와 여러분 ...