트래픽 관련 정리

이강용·2023년 12월 7일
0

CS

목록 보기
23/109

홈페이지가 트래픽 증가로 인해 마비되는 상황은 백엔드 개발자의 관점에서 어떤 의미를 내포하는가?

  1. 서버 과부하 : 서버에 요청이 너무 많아져서 처리할 수 있는 용량을 초과할 때 발생. 이는 서버응답 시간의 지연, 타임아웃 에러, 또는 완전한 서비스 중단으로 이어질 수 있음

  2. 데이터베이스 병목현상 : 과도한 요청으로 인해 데이터베이스 쿼리 처리가 지연되거나 중단될 수 있음. 이는 전체 시스템의 성능 저하로 이어짐

  3. 네트워크 문제 : 대량의 트래픽이 네트워크 대역폭을 초과할 경우, 네트워크 지연 및 접속 실패가 발생할 수 있음

그렇다면 대용량 트래픽 관리는 어떻게 해야하는가?

  1. 로드 밸런싱(Load Balancing)
  • 여러 서버에 요청을 분산시켜 단일 서버에 부하가 집중되는 것을 방지
    • AWS, Azure, Google Cloud와 같은 클라우드 서비스에서는 로드 밸런서를 제공함
  1. 스케일 업(Scale - up) 및 스케일 아웃(Scale - out)
  • 스케일 업 : 서버의 성능을 향상 시킴 (CPU, RAM 업그레이드)
  • 스케일 아웃 : 추가 서버를 도입하여 부하를 분산
  1. 캐싱(Caching)
  • 자주 요청되는 데이터를 캐시에 저장하여 DB의 부하를 줄임
    • Redis나 Memcached 같은 인메모리 데이터 저장소를 사용할 수 있음
  1. DB 최적화
  • 쿼리 최적화, 인덱싱, DB 파티셔닝 등을 통해 DB의 성능을 향상시킬 수 있음
  1. 컨텐츠 전송 네트워크 (CDN)
  • 정적 컨텐츠(이미지, CSS, JavaScript 파일 등) 을 여러 위치에 분산된 서버에 저장
  1. 비동기 처리 및 메시지 큐
  • 실시간 처리가 필요 없는 작업을 비동기적으로 처리하거나 메시지 큐를 사용하여 요청을 관리함
  1. 자동 스케일링
  • 트래픽 변화에 따라 자동으로 서버 리소스를 조절함. 대부분의 클라우드 서비스에서 지원

서버 유지보수란 무엇을 의미하는가?

  • 서버 유지 보수는 서버의 지속적이고 안정적인 운영을 위해 필요한 일련의 활동을 의미
  1. 하드웨어 유지 보수 : 서버의 물리적 구성 요소(하드 드라이브, 메모리, CPU 등)의 상태를 점검 및 교체

  2. 소프트웨어 업데이트와 패치 적용 : 보안 업데이트, 소프트웨어 업그레이드, 버그 수정 등을 정기적으로 수행하여 시스템을 최신 상태로 유지

  3. 보안 관리 : 방화벽, 안티바이러스 프로그램의 관리 및 네트워크 보안을 강화

  4. 백업 및 재해 복구 계획 : 중요 데이터의 백업을 주기적으로 수행하고 재해 복구 계획을 마련하여 긴급 상황에 대비

  5. 성능 모니터링 : 서버의 성능을 지속적으로 모니터링하고 필요한 조정을 통해 최적의 운영 상태를 유지

profile
HW + SW = 1

0개의 댓글