5장 3

5장. 지속적 통합과 배포 자동화, 젠킨스

컨테이너로 구동하는 애플리케이션을 어떻게 배포할 수 있을까?깃허브 등의 저장소에 저장해 둔 애플리케이션 소스 코드를 내려받아 도커 컨테이너 이미지로 빌드한다.빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록한다.레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성한다.생성한 오브젝트를 외부에서 접속할 수 있도록 서비스 형태로 노출한다. 5.1 컨테이너 인프라 환경에서 CI/CD일반적으로 지속적 통합(CI, Continuous Integration)은 코드를 커밋하고 빌드했을 때 정상적으로 작동하는지 반복적으로 검증해 애플리케이션의 신뢰성을 높이는 작업이다. 지속적 배포(CD, Continuout Deploymeny) 는 CI 과정에서 생성된 실뢰할 수 있는 애플리케이션..

5장. 지표 모니터링 및 경보 시스템

1단계: 설계 범위1. 개략적 요구사항대규모 인프라를 모니터링일간 활성 사용자수(DAU, Daily Active Users)는 1억 명서버 풀 1,000개, 풀당 서버 수 100개.데이터 보관 기간 1년수집한 데이터를 보관하는 기간은 일주일, 그 뒤에는 1분 단위 데이터로 변환 후에 30일간 보관, 그 뒤에는 1시간 단위 데이터로 변환한 뒤에 1년간 보관모니터링할 지표CPU 사용률요청 수메모리 사용량메세지 큐 내의 메세지 수2. 비기능 요구사항규모 확장성: 늘어나는 지표 수와 경보의 양에 맞게 확장될 수 있어야 한다.낮은 응답 지연:대시보드와 경보를 신속하게 처리할 수 있도록, 질의에 대한 낮은 응답 지연 보장안정성: 높은 안정성을 제공하여 중요 경보를 놓치지 않도록 해야 한다.유연성: 기술은 계속 변화..

5장. 안정 해시 설계

수평적 규모 확장성을 달성하기 위해서는 요청 또는 데이터를 서버에 균등하게 나누는 것이 중요하다. 해시 키 재배치 문제N개의 개키 서버가 있으면 부하를 균등하게 나누는 보편적 방법은 아래 함수이다. serverIndex = has(key) % N (N은 서버의 개수이다) 장점: 해당 방법은 서버 풀의 크기가 고정되어 있을 때, 그리고 데이터 분포가 균등할 때 잘 동작한다.단점: 서버 하나가 오류가 발생하면, 다른 클라이언트가 데이터가 없는 엉뚱한 서버에 접속하게 된다.  안정 해시안정해시는 해시 테이블 크기가 조정될 때 평균적으로 오직 k/n 개의 키만 재배치하는 해시 기술이다.전통적인 해시 테이블은 슬롯의 수가 바뀌면 거의 대부분 키를 재배치한다.k는 키의 개수n은 슬롯의 개수 > 해시 공간과 해시 링..