전체 글192 SpringBoot + Prometheus + Grafana 모니터링 StringBoot 를 사용하고 있는 어플리케이션에서 모니터링 방법중에서, Micrometer + Prometheus + Grafana 조합으로 모니터링 하는 방법을 알아보도록 하자. Micrometer : JVM 기반의 어플리케이션의 메트릭을 제공한다. Spring Boot 2.0 부터 Micrometer 를 지원하고 있다. Prometheus : metric을 수집하고 모니터링 및 알람에 사용되는 오픈소스 어플리케이션이다. 시계열 데이터베이스에 실시간 metric을 저장하고 query를 사용하여 metric을 조회할 수 있다. Grafana : 데이터 시각화, 모니터링 및 분석을 위한 오픈소스 어플리케이션이다. 시계열 매트릭 데이터를 시각화 하는데 가장 최적화된 대시보드를 제공한다. 사용자는 Graf.. 2020. 12. 31. [Mysql] INNER JOIN + ORDER BY 에서 filesort 제거해보기 Mysql 에서 INNER JOIN + Order By 를 하게 될때, Slow 쿼리가 발생될수 있으니까 실행 계획을 확인해보고 사용해야 한다. 아래의 테이블이 있다고 가정해 보자. Category 와 Product 테이블이 있다고 가정을 하고, 1:N 관계를 갖고 있다. Product 테이블에는 category_id 컬럼이 인덱스로 잡혀 있다. (FK 아님) Product 테이블과 category 를 조인하고 product 테이블의 PK 로 정렬해서 조회를 해보자. select * from `product` p, `category` c where p.category_id = c.id order by p.id desc limit 1000; 테스트 데이터를 category 10건 + product + 10.. 2020. 12. 11. Reactive Streams 이해하고 구현해보기 Reactive Streams 란? reactive-streams.org 에서는 다음과 같이 정의하고 있다. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. 대충 해석하면 "논블로킹(Non-blocking) 백프레셔(back pressure)를 이용한 비동기 데이터 처리의 표준이다" Reactive Streams API Reactive Streams 는 뭔가 복잡할것 같지만, 실제로 아주 간단한 API 들의 조합으로 구성되어 있다. public interface Publisher { public void subscribe(Subscr.. 2020. 11. 25. commit 메시지에 자동으로 branch명 추가해보기 Git 으로 버전관리 하다 보면 많은 feature 브랜치를 생성하게 되는데, pr 후 머지를 한다던지, 릴리즈를 하게 되면 해당 브랜치를 보통 삭제를 하게 된다. 삭제하고 나면 나중에 커밋 메시지로 어느 브랜치인지 알수 없고, 한눈에 들어오지 않기 때문에 커밋 메시지에 자동으로 브랜치명을 추가하는 방법을 알아보도록 하자. 아무 repository 나 접근해서 cd .git/hooks 해보면 다음과 같다. .sample 확장자로 되어 있는 파일이 있는데, 이것들이 Git 에서 지원하는 Hook 입니다. 커밋 메시지에 자동으로 브랜치명을 추가할 것이니까 prepare-commit-msg 파일을 만들어야 한다. (.sample 확장자를 제거해 주면 된다.) 1. prepare-commit-msg 파일을 아래.. 2020. 11. 4. 이전 1 ··· 42 43 44 45 46 47 48 다음