대용량 트래픽 대처법

금은체리·2024년 1월 18일
0

면접

목록 보기
13/15

대용량 트래픽 발생 시 어떻게 대응해야 하나요?
대용량 트래픽을 처리하는 방법은 어플리케이션의 구조와 설계 방식, 시스템 환경에 따라 고정적이지 않고 다양한 방식을 적용할 수 있습니다. 서비스 별로 적용할 수 있는 해결책 중 Spring Framework Reactive Stack 적용, MSA 환경에서 BFF 패턴(WebFlux)적용, Scale-out적용 . 후세션 일관성 유지, 캐싱을 통한 DB 부하 분담 등이 존재합니다.


Scale Up

  • 고성능 CPU, 메모리 확장, SSD 등 서버의 스펙을 높이는 수직 확장 방식
  • 장점
    1. 구축 설계가 쉽다
    2. 여러 대의 서버에 데이터 일관성을 유지해야하는 작업이 필요하지 않다
    3. 컨트롤러나 네트워크 비용이 별도로 발생하지 않는다
  • 단점
    1. 서버 한대에 모든 부하가 집중되므로 장애 발생시 치명적이다
    2. 용량, 성능 확장이 제한된다
    3. 비용이 많이 든다
  • 스케일업 아키텍처에서는 추가적인 네트워크 연결 없이 용량을 증강할 수 있고, 추가되는 용량이나 업그레이드 비용만 부가되기에 비용적인 증강은 스케일아웃에 비해 낮다.
  • 무엇보다 비교적 업그레이드가 쉽고, 필요 장비와 전력 소모를 어느정도 아낄 수 있다.
  • 또한 스케일업도 듀얼 컨트롤러로 고가용성(High Availability, HA) 구성이 가능해 다운 타임을 줄일 수 있다.
  • 하지만 온라인 금융 서비스같은 경우 빠르고 정확하면서 단순한 처리가 필요한 OLTP(Online Transaction Processing) 환경에서는 고성능의 스케일업 방식이 적합하다.
  • 백업용 스토리지를 구축하는 데 있어서 향후 수년간 데이터 증가 폭이 미미하거나 규모가 작은 경우 스케일업 방식으로 구축하는 편이 경제적일 수도 있다.

Scale Out

  • 비슷한 스펙의 서버를 여러대로 증설하여 로드밸런싱을 통한 병렬처리가 가능한 수평 스케일업 아키텍처
  • 장점
    1. 서버 한 대가 장애가 발생하더라도 다른 서버로 서비스 제공 가능
    2. 지속적인 확장성
    3. 분산 처리로 인한 장애 가능성이 낮아짐
    4. 저렴하다
  • 단점
    1. 설계 관리의 복잡성
    2. 관리 비용이 증가
    3. 모든 서버의 데이터 일관성을 유지해야함
  • 스케일아웃 아키텍처의 가장 큰 장점 중 하나는 확장의 유연성이다.
  • 또한, 하나의 시스템을 모니터링하기 쉬워 보다 이슈에 대응하기 좋다.
  • 데이터베이스 워크로드 타입에 따라서 그에 적합한 확장 방식도 달라진다.
  • 빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 애플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 스케일아웃 구성이 더 효율적이라고 할 수 있다.
  • 하지만 신입개발자가 아키텍처를 구성할 때 로드밸런싱의 이해도 문제, 서버가 증가함에 따라 같이 증가하는 장애 발생의 확률 또한 올라가는 단점이 있다.
  • 서버가 증가하면서 자연스럽게 발생하는 I/O로 인해 지연이 발생할 가능성이 증가한다.

참고

링크
링크

profile
전 체리 알러지가 있어요!

0개의 댓글