토이프로젝트
-
대용량 트래픽에서 DB부하를 줄이고 성능 튜닝을 위한 캐싱 적용토이프로젝트/hi-bus-go 2020. 8. 27. 02:19
배경 버스 터미널 어플을 개발하던 도중 조회성 정보중 거의 변하지 않는 정보를 많은 사용자가 매번 조회하기 위해 RDB에 접근하다 보면 DB 서버의 리소스를 사용하고 디스크 I/O가 자주 발생하여 DB 부하가 늘어날 것이라고 생각하였습니다. 또한 RDB에 최대한 적게 접근하면서 빠른 조회 응답을 얻는 방법 중에 캐시(Cache)가 있다는 것을 알게 되었습니다. 그렇다면 여기서 말하는 캐시(Cache)가 무엇인지 알아보도록 하겠습니다. 이전 글에서 인메모리 데이터 베이스 중 하나인 redis를 이용하여 대용량 트래픽을 처리하기 위한 세션 구조에 대해 글을 쓴 적이 있습니다. redis는 인메모리 데이터 베이스이지만 캐시 서버와 같은 기능을 하기도 합니다. Cache(캐시)란 자주 시용하는 데이터 값을 미리..
-
Redis를 이용하여 대용량 트래픽을 처리 가능한 세션 구조 만들기토이프로젝트/hi-bus-go 2020. 6. 21. 05:25
개요 일반적으로 로그인 세션 관리는 서버의 메모리에 저장하게 됩니다. 하지만 동시 접속자가 많아진다면 어떻게 될까요?. 서버 내의 리소스가 부족하게 되어 서버가 다른 작업을 수행하지 못하거나 다른 사용자가 로그인하지 못할 수도 있습니다. 서버 내의 리소스가 부족할 경우에는 어떤 해결책이 있을까요? 리소스 부족을 해결하기 위한 해결책에는 scale-up과 scale-out이 있습니다. scale-up은 서버 한대의 하드웨어 성능을 높여 서버의 처리하는 성능을 높이는 전략입니다. 성능 증가폭이 크며, 일반적으로 비용 부담이 큰 특징이 있습니다. 또한 서버가 장애가 나면 전면 장애가 발생할 수 있습니다. scalue-out은 여러 서버가 요청을 처리하여 서버 한대가 처리하는 용량을 줄임을 동시에 전체적인 성능..