로깅 프레임워크
Logback 선택 이유
- Spring Boot와의 호환성:
- Spring Boot에서 별도의 의존성 추가 없이 기본적으로 사용할 수 있어 설정과 관리가 간편합니다.
- 성능 비교:
- 성능 면에서 Logback은 log4j2에 비해 다소 뒤처질 수 있지만, 프로젝트 초기 단계에서는 이러한 성능 차이가 크지 않을 것으로 예상됩니다.
- 러닝 커브:
- Logback은 log4j2에 비해 레퍼런스가 많아 학습하기 쉬워 팀의 러닝 커브를 줄이고, 문제 해결 시 보다 신속한 대응을 가능하게 합니다.
모니터링 대시보드
Loki + Prometheus + Grafana 선택 이유
- 레퍼런스의 풍부함:
- 이 조합은 많은 레퍼런스가 존재하여, 설정과 문제 해결 과정에서 도움이 되는 자료를 쉽게 찾을 수 있습니다.
- Loki: 로그 관리
- 효율적인 인덱싱: Loki는 메타정보만 인덱싱하는 방식으로, 전체 내용을 인덱싱하는 Elasticsearch보다 더 간결하고 비용 효율적입니다.
- Prometheus와의 통합: Loki는 Prometheus와 동일한 레이블을 사용해 메트릭과 로그의 원활한 전환이 가능합니다.
- Prometheus: 메트릭 관리
- 시스템 성능 측정: Prometheus는 시스템 성능을 모니터링하고, 데이터 수집을 위한 퓨어 풀 모델을 사용합니다. 이 모델은 클라이언트의 부하를 줄이고, 네트워크 문제 발생 시에도 데이터 수집의 안정성을 유지합니다.
- Grafana: 시각화
- 데이터 시각화: Grafana는 수집된 로그와 메트릭 데이터를 시각화하여, 시스템의 상태를 한눈에 파악할 수 있도록 지원합니다. 이는 문제 탐지와 대응을 신속하게 할 수 있게 합니다.