반응형
3단계 : 상세 설계
지표 수집
- 폴 vs 푸시 모델
- 폴모델
- 이 접근법에서 지표 수집기는 데이터 가져올 서비스 목록을 알아야 한다.
- 서버가 수시로 추가/삭제되는 대규모 운영 환경에서는 적용하기 어렵다.
- etcd나 아파치 주키퍼 같은 서비스 탐색 기술 활용하면 이 문제는 해결할 수 있다.
- 각 서비스는 자신의 가용성 관련 정보를 서비스 탐색 서비스(이하 Service DisCovery System) 에 기록되고, SDS 서비스 엔드포인트 목록에 변화가 생길 때마다 지표 수집기에 통보한다.
- 수천 대 서버가 만들어 내는 지표 데이터를 수집하려면 지표 수집기 한대로는 부족하다.
- 지표 수집기 서버 폴을 만들어야 본 설계안에서 다루는 지표 데이터 규모를 감당할 수 있다.
- 지표 수집기 서버를 여러 대 둘 때 데이터를 중복해서 가져올 가능성이 있는데, 이때 중재 매커니즘이 존재해야 한다.
- 안정 해시 링을 사용해 해ㅣ 링 구간마다 해당 구간에 속한 서버로부터 생산되는 지표의 수집을 담당하는 수집기 서버를 지정하면 된다.
- 이 접근법에서 지표 수집기는 데이터 가져올 서비스 목록을 알아야 한다.
- 푸시 모델
- 모니터링 대상 서버에 통상 수집 에이전트라고 부르는 소프트웨어를 설치한다.
- 에이전트가 위치한 서버 클러스터가 자동 규모 확장이 가능하도록 설정되어 있다면 서버가 동적으로 추가되거나 삭제되는 과정에서 해당 데이터는 소실될 수 있다.
- 폴모델
- 장단점 비교
- 폴 모델을 체택한 유명한 사례로는 프로메테우스가 있다.
- 푸시 모델을 채택한 유명한 사례로는 아마존 클라우드와치, 그래파이트 등이 있다.
지표 전송 파이프라인의 규모 확장
-
- 폴 모델과 푸시 모델 가운데 무엇을 채택할지 여부에 관계없이, 지표 수집기는 서버 클러스터 형태이며 엄청난 양의 데이터를 받아 처리해야 한다.
- 시계열 데이터베이스에 장애가 생기면 데이터 손실이 발생할 가능성이 있고, 이때 큐를 두면 그런 문제를 해소할 수 있따.
- (장점) 카프카는 고도로 안정적이고 규모 확장성이 뛰어난 분산 메시지 플랫폼이다.
- (장점) 데이터 수집 컴포넌트와 처리 컴포넌트 사이의 결합도를 낮춘다.
- (장점) 데이터베이스에 장애가 생겨도 데이터는 소실되지 않는다. 카프카에 보관해 두면 되기 때문이다.
- 카프카를 통한 규모 확장
- 대역폭 요구사항에 따라 파티션의 수를 설정한다.
- 지표 이름에 따라 어떤 지표를 어느 파티션에 배치할지 결정하면 소비자는 지표 이름에 따라 데이터를 집계할 수 있다.
- 태그/레이블에 따라 지표 데이터를 더욱 세분화된 파티션으로 나눈다.
- 중요 지표가 먼저 처리될 수 있도록 지표를 분류하고 우선순위를 지정한다.
질의 서비스
- 질의 서비스는 질의 서버 클러스터 형태로 구현되며, 시각하 또는 경보 시스템에 접수된 요청을 시계열 데이터베이스를 통해 처리하는 역할을 담당한다.
- 이런 질의 처리 전담 서비스를 두면 클라이언트와 시계열 데이터베이스 사이의 결합도를 낮출 수 있다.
저장소 계층
- 저장 용량 최적화
- 데이터 인코딩 및 압축
- 다운샘플링 : 데이터의 해상도를 낮춰 저장소 요구량을 줄이는 기법이다.
- ex, 7일 이내 데이터 - 샘플링 적용하지 않는다.
- 30일 이내 데이터 - 1분 해상도로 낮춰 보관한다.
- 1년 이내 데이터 - 1시간 해상도로 낮춰 보관한다.
4단계 : 마무리
#모니터링시스템 #시계열데이터 #Pull모델 #Push모델 #Kafka파이프라인 #InfluxDB #Prometheus #데이터수집기 #다운샘플링 #서비스디스커버리 #지표시각화 #경보시스템 #DevOps아키텍처 #백엔드인프라 #운영자동화 #데이터압축 #QueryLayer #분산아키텍처 #실시간모니터링 #시스템설계
반응형
'스터디 > [가상면접 사례로 배우는 대규모 시스템 설계 기초2]' 카테고리의 다른 글
[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 6장. 광고 클릭 이벤트 집계 - 3단계 (3) | 2025.08.17 |
---|---|
[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 6장. 광고 클릭 이벤트 집계 - 1단계,2단계 (3) | 2025.08.16 |
[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 5장. 지표 모니터링 및 경보 시스템 - 1단계,2단계 (2) | 2025.08.08 |
[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 4장.분산 메시지 큐 - 상세 설계 (5) | 2025.08.03 |
[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 4장.분산 메시지 큐 - 1단계, 2단계 (1) | 2025.08.02 |