본문 바로가기

spring3

프로메테우스란? 개요 프로메테우스는 그리스 로마 신화에서 사람들에게 불을 가져다 준 신으로 알려져 있는데 사람들은 이 불을 통해 음식을 익혀먹고, 밤에 보지 못했던 것들을 볼 수 있게 되었다. 모니터링 툴 Prometheus는 불을 통해 무언가를 잘 관찰할 수 있게 해 준 신의 이름을 차용해 지어졌다고 한다. 사전적인 의미로 정의하면 프로메테우스는 SoundCloud에서 만든 오픈소스 시스템 모니터링 및 경고 툴킷으로 요약할 수 있다. 아래 그림은 프로메테우스 공식 홈페이지에 있는 특징들인데, 큰 특징들만 추려 정리하자면 아래와 같다. 메트릭을 수집하여 시계열 데이터 저장 수집한 데이터의 시각화 (with Grafana) PromQL을 통한 강력한 쿼리 AlertManager를 통한 쉽고 정확한 알림 다양한 클라이언트 .. 2023. 3. 1.
[스프링 핵심원리 기본]스프링 컨테이너와 스프링 빈 스프링 컨테이너와 스프링 빈 이전 강의까지에서는 객체지향에 대한 전반적인 개념에서 시작하여 간단한 예제를 통해 할인 시스템을 만들어 보았다. 예제를 통해 객체지향적 사고를 배울 수 있었고, 이제부터는 본격적으로 스프링의 원리에 대해서 정리한다. 스프링 컨테이너 생성 @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } ... } public static vo.. 2022. 1. 15.
[Java] Spring 다중 profile 설정하기 Spring 프로젝트를 진행하다보면 로컬, 개발, 운영 환경에서 서로 다른 설정값을 넘겨줘야 하는 경우가 있다. 로컬, 개발 환경에서의 DB와 운영 환경에서의 DB를 분리한다던지, 과금이 필요한 외부 api를 사용하는 경우 로컬 환경에서는 더미 api로 요청을 보내는 등의 경우가 그 예이다. Spring을 이용해서 프로젝트를 진행할 경우 application.yml이라는 파일을 통해 설정값을 스프링 프로젝트에 주입해줄 수 있으며 환경별로 다른 값을 넘겨줄 수 있다. 다음은 로컬, 개발, 운영 환경에 서로 다른 DB 커넥션 정보를 넘겨주는 application.yml 파일의 예이다. server: port: 2580 error: whitelabel: enabled: false servlet: encodin.. 2021. 6. 9.