[DB] 5분만에 Azure Redis 캐쉬를 만들어보자 (PaaS)

DB
작성자
Roronoa
작성일
2019-05-01 22:44
조회
7848
캐쉬가 머일까요?

쉽게 생각하면됩니다. 예를들어 게임이 있는데 1등 부터 100등까지 랭킹정보가 있다고 생각해보면 데이터베이스에서 랭킹정보를

실시간으로 개속 쿼리 한다면 데이터베이스는 부하가 계속 걸리게 되고 그 부하를 소화할수 있을 가상머신을 더 높은 스펙으로 사용해야합니다.

그러나 만약 1등 부터 100등까지 6시간에 한번씩 보여준다고 생각하면 6시간에 한번만 쿼리를 돌려서 그 결과값을 캐쉬라는 저장장소에 저장하면

얼마나 효율적일까요? 이미 다들 사용하고 있습니다. 많이 사용되는 결과값이라면 그 효율은 매우 좋을것이며 이런부분에서 가상머신의 컴퓨트를

많이 줄일 수 있습니다.

Azure cache for Redis

캐쉬데이터를 사용하면 퍼포먼스가  아주 증가하기 때문에 Redis Memcache 등등은 이미 많은 어플리케이션에서 쓰이고 있습니다.  세션을 저장하는 용도도 있으며 큐를 저장하는 용도도 있고 데이터베이스를 미리 불러오는 용도 등등 수많은 부분에 응용될 수 있으며 Azure에서도 Redis를 PaaS 형태로 제공합니다. 또한 완전 관리형이며 Geo Replication (지역 복제)를 하기 때문에 세계 여러 데이터센터에 Secondary 들을 만들어 줄수 있습니다. 물론 현재는 Primary 만 읽기 쓰기가 되며 Secondary는 Read만 됩니다. 또한 클러스터도 제공하여 확장 기능까지 제공하며 스넵샷과 백업까지 제공합니다.

장점만 말했는데 사실 단점은 없을까요?

Basic -> Standard -> Premium이라는 등급이 존재하며 높아질수록 비용이 증가합니다

높은 등급을 쓰지 않을수 없는 이유가 Ram 용량이 등급이 높을수록 올라가며 낮은 등급일 수록 Connection수도 적습니다

Ram은 많이 안쓰는데 Connection이 많다거나 놀고 있는 VM에 Redis를 수동으로 설치한다면 위에 시나리오는 무용지물이

되지만 필자는 캐쉬도 마찬가지로 분산 구조와 대용량 구조라면 무조건 분리해야한다는 원칙을 가지고 있기 때문에 VM에

Cache를 공유하는 방법은 모노리스 구조라 생각하고 있습니다.

 

Redis를 직접  Azure 에서 만들어보자

  1. 포털로 간다

  2. All Service -> Database -> Azure Cache for Redis

  3. Redis Cache DNS를 입력

  4. Resource Group를 만든다

  5. 배포한다.

  6. 배포하는데 약 15분 걸린다.

  7. 포털에서 Host Name 을 Overview에서 확인

  8. 포털에서 Property에서 Port 확인

  9. 포털에서 Access Key 확인후 엑셀에 저장

  10. 코드에서 이 키를 변수로 저장(암호화 필수)


set REDISCACHEHOSTNAME=contosoCache.redis.cache.windows.net
set REDISCACHEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

자바 https://docs.microsoft.com/ko-kr/azure/azure-cache-for-redis/cache-java-get-started

자바 스프링 boot Initializer https://docs.microsoft.com/en-us/java/azure/spring-framework/configure-spring-boot-initializer-java-app-with-redis-cache?view=azure-java-stable

PHP 세션 https://docs.microsoft.com/en-us/azure/azure-cache-for-redis/cache-faq#can-i-use-azure-cache-for-redis-as-a-php-session-cache

asp https://docs.kentico.com/k9/running-kentico-on-microsoft-azure/storing-cache-and-session-state-data-in-azure-environment

Best Of Best Git https://docs.kentico.com/k9/running-kentico-on-microsoft-azure/storing-cache-and-session-state-data-in-azure-environment
유투브 동영상 클릭~