기타

Local Cache와 Global Cache

창욱씨 2021. 3. 7. 16:12

Caching이란

Caching은 애플리케이션의 처리 속도를 높여줍니다. 이미 가져온 데이터나 계산된 결과 값의 복사본을 저장함으로써 처리 속도를 향상시키며, 이를 통해 향후 요청을 더 빠르게 처리할 수 있습니다. 대부분의 프로그램이 동일한 데이터나 명령어에 반복해서 액세스하기 때문에 Caching은 효율적인 아키텍처 패턴입니다.

Local Cache

Local Cache는 서버 마다 Cache를 따로 저장하는 방법입니다. 각 서버 장비의 Resource(Memory, Disk)를 이용하기 때문에 다른 서버의 Cache를 참조하기 어렵습니다. 해당 서버 내에서 작동하기 때문에 Global Cache에 비해 속도가 빠릅니다. 캐시에 저장된 데이터가 변경되는 경우에는 해당 서버를 제외한 모든 peer에 변경사항을 전달하고 복사하는 과정을 거칩니다. 이 때문에 WAS 인스턴스가 늘어나고, 만약 캐시 저장 데이터 크기가 커지면 성능이 저하되기도 합니다.

Global Cache

Global Cache는 여러 서버에서 캐시 서버에 접근하여 참조하는 방법입니다. 별도의 캐시 서버를 이용하기 때문에 서버 간 데이터 공유가 쉽고 데이터를 분산하여 저장할 수 있습니다. 하지만 네트워크 트래픽을 사용해야 해서 Local Cache보다는 속도가 느립니다. Local Cache와 다르게 캐시에 저장된 데이터가 변경되더라도 추가적인 작업이 별도로 필요하지 않습니다.

728x90