개발/Infra
-
어떤 캐싱을 도입할까? feat. 로컬캐시, Redis, 웹캐시개발/Infra 2023. 1. 7. 18:23
캐시란? 복잡한 연산이나 시간이 오래 걸리는 연산을 미리 수행한 후, 그 결과 값을 저장하여 필요시 빠르게 가져와 사용할 수 있게 하는 것 캐시의 종류 로컬캐시 Redis DB내부 캐시 웹캐시 CDN 등 종류별 특징 로컬캐시: 서버의 리소스(Memory, Disk) 내 결과값을 저장한다. (Caffeine cache, EHcache) 장점 타 서버간 통신비용이 발생하지 않는다. 서버 인스턴스 메모리에 저장하기 때문에 가져오는데 속도가 빠르다. 단점 서버가 여러대로 클러스터링 되어있는 경우, 동기화가 되지 않는다. 캐시 데이터가 커질수록 서버 메모리가 부족해 지며 이에 따라 애플리케이션 성능이 저하 될 수 있다. Redis: 데이터 영속성을 지원하는 In-memory 저장소 (스냅샷 기능을 통해 Disk에..
-
[Kubernetes] Canary 배포 환경 구성개발/Infra 2022. 12. 30. 11:09
0. 개요 Canary 배포란? 구 버전의 서비스와 새 버전의 서비스를 동시 구성, 일부 트래픽을 새 버전으로 분산하여 에러 여부 판단 및 모니터링 하는 배포방식 보통 구 버전은 PRODUCTION / 새 버전은 CANARY 로 서비스를 칭한다. k8s의 nginx-ingress-controller를 통해 트래픽을 분산할 수 있다. weight 기반: 100 - X % / X % 로 트래픽 분산 (random) cookie 기반: 요청의 cookie value를 확인하고 production / canary 서비스로 분산 header 기반: 요청의 header value를 확인하고 production / canary 서비스로 분산 1. 테스트용 프로젝트 생성 간단하게 2개의 프로젝트를 구성한다. 동일한 A..