트래픽 관리를 위한 서버리스 구조, 로드 밸런서(Load Balancer), 클러스터링 설계, 캐시 기능

EUN JY·2022년 2월 16일
1

ETC

목록 보기
2/3

서버리스 구조

  • 서버에서 처리하는 작업을 클라우드 기반의 서비스로 처리함으로써 서버 구축 및 관리 비용을 줄이는 방법
  • 개발 기간과 비용을 단축할 수 있고, 서버 운영과 유지 보수도 쉬워짐
  • 필요에 따라 자동으로 스케일 업되거나 스케일 다운되므로 비용 절감에 도움이 됨
  • 트래픽에 대응할 수 있게 됨

Load Balancer

  • https://nesoy.github.io/articles/2018-06/Load-Balancer
  • 여러 대의 Server에게 균등하게 Traffic을 분산시켜주는 역할을 함
  • 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산 처리하여 서버의 로드율 증가, 부하량, 속도 저하 등을 고려하여 적절히 분산 처리하여 해결해주는 서비스
  • Server에 비해 Client가 많은 대규모 서비스의 경우 Scale-up, Scale-out이 필요
  • Scale-up : Server가 더 빠르게 동작하기 위해 하드웨어 성능을 올림
  • Scale-out : 하나의 Server가 아닌 여러 대의 Server가 나눠서 일을 하는 방법
    • 하드웨어 향상하는 비용보다 서버 한대 추가 비용이 더 적음
    • 여러 대의 Server 덕분에 무중단 서비스를 제공할 수 있음

캐시 기능

  • https://j0free.tistory.com/3
  • 캐시를 적용하기에 적합한 데이터
    • 반복적이고 동일한 결과가 나오는 기능의 반환 값
    • 업데이트가 자주 발생하지 않는 데이터
    • 자주 조회되는 데이터
    • 날아가도 상관없는 데이터
  • 로컬 캐시
    • 같은 JVM내에 혹은 같은 장비에서 데이터를 가져오므로 성능이 좋음
    • 하나의 장비내에 있는 데이터만 동기화가 이루어짐
  • 글로벌 캐시
    • 데이터 동기화가 실시간으로 이루어지기 때문에 모든 사용자가 동일한 데이터를 가질 수 있음
    • 네트워크를 통해 데이터를 전달하기 때문에 로컬 캐시에 비해 상대적으로 느림
  • 글로벌 캐시를 적용하기 적합한 상황
    • 여러 서버에서 접근하여 동기화가 이루어져 동일한 데이터를 가져야 할 때
    • 서버에 정상적으로 작동하지 않을 때에도 데이터를 유지해야 될 때

클러스터 설계

  • https://lipcoder.tistory.com/344
  • 클러스터 : 데이터 저장 시 데이터 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법
  • 클러스터링 키로 지정된 컬럼 값의 순서대로 저장되고 여러 개의 테이블이 하나의 클러스터에 저장됨
  • 클러스터의 특징
    • 클러스터링 된 테이블은 데이터 조회 속도는 향상시키지만 데이터 입력, 수정, 삭제에 대한 성능은 저하
    • 클러스터는 데이터의 분포도가 넓을수록 유리
    • 데이터 분포도가 넓은 테이블을 클러스터링 하면 저장 공간을 절약할 수 있음
    • 클러스터링된 테이블은 클러스터링 키 열을 공유하므로 저장 공간이 줄어듦
    • 대용량을 처리하는 트랜잭션은 전체 테이블을 스캔하는 일이 자주 발생하므로 클러스터링을 하지 않는 것이 좋음
    • 처리 범위가 넓은 경우에는 단일 테이블 클러스터링을, 조인이 많이 발생하는 경우에는 다중 테이블 클러스터링을 사용
    • 파티셔닝된 테이블에는 클러스터링을 할 수 없음
    • 클러스터링을 하면 비슷한 데이터가 동일한 데이터 블록에 저장되기 때문에 디스크 I/O가 줄어듦
    • 클러스터링된 테이블에 클러스터드 인덱스를 생성하면 접근 성능이 향상
  • 클러스터 대상 테이블
    • 분포도가 넓은 테이블
    • 대량의 범위를 자주 조회하는 테이블
    • 입력, 수정, 삭제가 자주 발생하지 않는 테이블
    • 자주 조인되어 사용되는 테이블
    • ORDER BY, GROUP BY, UNION이 빈번한 테이블
profile
개린이

0개의 댓글