연장챙겨
캐시 서버 본문
캐시란 데이터의 임시 저장소라는 의미이다
임시라는 뜻을 보면 알겠지만 휘발성인 저장소이다
클립보드라는 느낌? 아님말고
이걸 갑자기 사용하려는 이유가 무엇이냐
만약 변화가 많이 없는 데이터를 미리 가져다놓고 그것으로 바로 대응한다면
빠른 응답속도와 더불어 WAS든 DB든 과부화가 덜 가는 장점이 있다
실시간성(정합성)을 포기하고 성능을 챙긴다는 면에서 적당히 사용하면 너무 좋다라는 의견이다
당장에 내가 할 일을 뻐꾸기 친구가 대신해준다는데 누가 싫어하겠나
그래서 캐시의 종류가 다양하지만 가장 많이 알아본 두가지를 알아보자 물론 내가 사용할거라서
DB데이터를 미리 가져다놓고 사용하는 In-Memory
이미지, 동영상 등을 미리 가져다놓고 응답해주는 CDN서버
CDN서버를 간단하게 말하자면 이번엔 친구가 옷이 잘팔려 글로벌하게 서비스를 하고싶다고 한다 하지만 쇼핑몰이라서
고화질 이미지가 잔뜩 들어가있다 그렇다면 데이터가 커서 제때 화면에 그려주지 못하는 상황이 발생하여
외국친구들이 화가 잔뜩날거 같다 거긴 원래 인터넷이 느려서 상관없을 수도 있는데 난 아니다
그래서 일정 거리 마다 혹은 특정 지점에 CDN을 구축하여 보다 빠르게 응답을 해줄 수 있는 역할을 해준다
보통 캐시기능이 있는 nginX에 내가 서비스하는 이미지를 가지고 있는 SFTP(파일서버)를 연결해줘서 캐싱한다
서버 만드는거야 그냥 만들지만 CDN을 제대로 활용하려면 GSLB을 통해서 요청지에서 가장 최적의 서버가 어디인지
판별하여 로드밸런싱을 할 수 있다고 하는데 DNS도 모르는 상황에서 설명하기엔 서로 민망한 부분이라
여기까지만 하고 추후 이해하게되면 그에 맞도록 글 수정을 하겠다
심플하게 설명하자면 이걸 직접 구축하려고 한다면 서버가 한대 더 필요하다
메인서버가 바쁘니까 쉬게하려고 만드는건데 도커에 올린다고 무슨 이점이 있냐는 거다 같은 IP인데
나는 기존에 구매한 데스크탑 하나만 가지고 사용할 예정이라서 AWS에 내가 CDN을 구축한다고 하여도
바로 내옆에 서버가 있는데 이게 의미가 있나 싶기도 하고 정확한 테스트도 불가능하다
캐시기능정도는 하겠지 그리고 아마존 유료라서 좀 그래
세션스토리지에 관련해서
In-Memory는 내일 정리하고
이런 이유로 CDN은 구축불가능이라고 말하고 싶고
대신 nginX에 캐시기능을 사용할 예정이니 신경안써도 된다
기존에 마리아DB를 선택한 이유도 memoryDB사용이 가능해서이다
이것으로 In-Memory 기능도 Redis나 H2대신 사용 가능하니 기존것만 가지고
좀더 디테일하게 컨트롤한다는 컨셉으로 잡자
결론 : 이미지캐시는 nginX 인메모리는 MariaDB
'세미' 카테고리의 다른 글
STS Web관련 파일 플러그인 추가 (0) | 2023.03.24 |
---|---|
그새 많은 일이 있고 글쓰기가 귀찮은 변명 + 네트워크 (0) | 2023.03.24 |
리버스 프록시 (0) | 2022.06.29 |
마리아 디비 (0) | 2022.06.26 |
도커로 세미를 만들어봅시다... (0) | 2022.06.22 |