기타

대규모 서비스란

whyHbr 2025. 1. 5. 23:39
728x90
반응형

대규모 서비스란?

  • 많은 사용자 트래픽
  • 많은 사용자 데이터
  • 사용자 트래픽/ 데이터의 빠른 증가
  • ex) facebook, netflix, kakao, naver, twitter

대규모 서비스가 가져야할 특성

  • 확장성 Elastic
    • 서비스의 가용 용량을 늘이고 줄이는 것이 쉬워야 한다.
  • 장애 회복성 Resiliency
    • 서비스에 장애가 일어났을 때 가능한 메뉴얼한 처리 없이 자동적으로 회복되어야 한다.
  • 자동화 Automation
    • 배포부터 장애처리 등 대부분 자동화 되어서 버튼 클릭 한 두 번 정도로 진행되어야 한다
  • 모니터링 Monitoring
    • 서비스 상태는 항상 모니터링 되어야 한다.

 

확장성 Elastic

  • 트래픽이 늘어나 서버를 추가해야 한다면?
    • 추가되어야 하는 서버의 종류는?
    • 이런 종류의 서버는 쉽게 추가될 수 있을까? 
      • web server는 쉽게 추가 가능 하지만 DB server는 추가가 어렵다
    • 트래픽이 줄어 서버를 줄어야 한다면?
      • 제거 되어야 하는 서버의 종류는?
      • 이런 서버들은 쉽게 제거될 수 있을까?

장애 회복성  Resiliency

  • 서비스중인 API 서버 한, 두대가 장애가 나면 서비스는 계속 지속될 수 있을까?
  • 서버스 데이터를 저장하는 DB서버에 장애가 나면 서비스는 계속 지속될 수 있을까?
    • 장애 회복성을 위해서는 SPOF (Single Point of Failure 해당 지점에 장애가 발생하면 전체 서비스에 장애를 낼 수 있는 부분) 이 없어야 한다.
    • SPOF를 없애기 위해선 Clinet - API Server - DB Server 구조에서  API Server. DB Server를 늘리면 된다. 즉, 모든 부분에서 최소 이중화가 되어어야 한다.
    • SPOF를 최대한 제거하고, 각 부분들을 확장할 수 있어야 한다.

자동화 Automation

  • 서비스 운영의 많은 부분이 자동화가 되어야 한다.
    • 사람 손으로 직접 건드리는 것은 장애의 씨앗
  • IaC (Infrastucture as code) 가 중요하다.
    • IaC: 인프라 리소스를 수동으로 구성하는 대신, 소스 코드를 사용하여 인프라를 프로그래밍적으로 관리하고 자동화하는 방식
728x90

'기타' 카테고리의 다른 글

Redis란  (0) 2025.01.08
redis 데이터 구조 학습  (1) 2024.12.02
퀴즈 9회차  (0) 2024.05.02
퀴즈 8회 오답노트  (0) 2024.04.26
퀴즈 7회차  (0) 2024.04.12