가상 면접 사례로 배우는 대규모 시스템 설계 기초 구현
프로메테우스 권한 추가
sudo chmod -R 755 ./prometheushttp://localhost:9090http://localhost:3000/admin / admin
- 가운데 DATA SOURCES 클릭
- Prometheus 클릭
- HTTP URL 위와 같이 설정 (docker-compose 파일의 service 이름과 동일하게 맞춘다)
- 페이지 하단의 "Save & Test" 클릭
+Import 클릭
- 4701 또는 https://grafana.com/grafana/dashboards/4701-jvm-micrometer/ 을 입력하고 Load 클릭
이 후 Prometheus 선택하고 Import
위와 동일하게 +Import 에서 아래 숫자를 입력하고 Load를 클릭
- 7362
- K6 설치
brew install k6- k6 스크립트 작성(기본 예제)
importhttpfrom'k6/http';import{check,sleep}from'k6';exportconstoptions={stages: [{duration: '30s',target: 20},{duration: '1m30s',target: 10},{duration: '20s',target: 0},],};exportdefaultfunction(){constres=http.get('http://localhost:8080/test');check(res,{'status was 200': (r)=>r.status===200});sleep(1)}- 스크립트 실행
k6 run ./generator/traffic.js- docker compose를 활용해, 동일한 was 이미지를 2개 띄우기
docker compose up --scale app=2
띄워진 컨테이너 확인
- 요청을 2번 보냈을때, 로드 밸런싱이 되는지 확인
- app-2 컨테이너 종료해보기
- 다시 요청을 보냈을때 app-1이 요청을 받는지 확인하기
- Grafana 확인










