분류 전체보기
-
자바 어플리케이션 모니터링하기 (1) spring-boot24년 11월 이전/Metric 2021. 2. 22. 22:32
개요 이 문서에서는 Prometheus로 spring-boot기반의 자바 애플리케이션의 메트릭을 수집한 후 Grafana 대시보드를 구축하는 것에 대하여 다룬다. 자세한 내용은 다음과 같다. 자바, 프로젝트 설치 Spring Boot Application 설정 살펴보기 Prometheus 설정 Spring Boot Application 서버 모니터링을 위한 Grafana 대시보드 구축 이 문서에서 진행되는 실습 코드는 편의성을 위해 로컬 Docker 환경에서 진행되나, 실세 서버 환경에서도 거의 동일하게 적용할 수 있도록 작성되었다. 이번 장의 코드는 다음 링크에서 확인할 수 있다. 이번 장 코드 : https://github.com/gurumee92/gurumee-book-prometheus/tree/..
-
02장. Terraform 튜토리얼24년 11월 이전/Terraform 2021. 2. 21. 22:56
이번 장에서는 Terraform으로 Docker 기반의 인프라스트럭처를 구성한다. 먼저 이전 장에서 Terraform을 설치를 진행했다고 가정하고 진행할 것이며, Docker를 설치한 후, Terraform으로 다음 인프라스트럭처를 구성한다. 참고로 이 장에서 쓰이는 전체 코드는 다음 경로에 존재한다. 2장 코드 : https://github.com/gurumee92/gurumee-terraform-code/tree/master/part1/ch02 자 이제 시작해보자. Docker 설치하기 이 장의 실습을 진행하기 위해서는 Docker가 설치되어 있어야 한다. 여기서는 Mac OS와 AWS Linux 상에서 Docker를 설치하는 방법을 알아본다. Mac OS에서 Docker 설치 먼저 Mac OS의 경..
-
Prometheus란 무엇인가24년 11월 이전/Metric 2021. 2. 19. 16:49
개요 이 문서에서는 Prometheus가 무엇인지, 대략적으로 살펴본다. 다음의 내용을 다루고 있다. Prometheus란 무엇인가 Prometheus 아키텍처 구성 Prometheus가 적합한 상황, 적합하지 않은 상황 Prometheus 설치 Prometheus란 무엇인가 Prometheus는 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템이다. 처음에는 SoundCloud에서 만들어졌으나 2016년에는 쿠버네티스에 이어 두 번째로 CNCF(Cloud Native Computing Foundation) 산하 프로젝트 멤버로 들어가게 됐다. 공식 문서에서는 특정 회사가 관리하고 있지는 않고 있다라고 적혀 있는데 Grafana Labs에서 유지 보수를 메인..
-
01장. Terraform과 설치24년 11월 이전/Terraform 2021. 2. 17. 22:28
Terraform이란 무엇인가 Terraform은 하시코프에서 만든 IaC 도구, 특히 인프라 선언 도구이다. Terraform은 안전하고 반복적으로 작업하더라도 인프라스트럭처를 구축, 변경할 수 있게 도와준다. 간혹 Ansible이나 Puppet과 같이 비교가 되곤 하는데, 엄밀히 말해서 Ansible과 Puppet은 설정 관리 도구로써 Terraform과는 다른 성격의 도구임을 분명히 알아두는 것이 좋다. IaC와 Terraform IaC란, Infrastructure As Code의 약자로써, 코드로 인프라를 관리하는 것을 말한다. 여기서 IaC가 관리하는 것은, 인프라를 이루는 서버, 미들웨어, 서비스 등 인프라를 구성하는 모든 요소들이 그 대상이다. 또한 IaC 도구는 크게 다음으로 분류된다. ..
-
책장 속 먼지 털기 - 토비의 스프링 링크24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 2. 6. 20:52
블로그, 노션, 노트앱 세개로 정리하다 보니까 옮기는 것도 일이다. 특히 요즘은 회사 일이 매우 바쁜데 이를 위해서 시간 들이는게 부담스럽다. 따라서 이제부터 노션으로 관리하고 링크로 공유할 생각이다. 1장 오브젝트와 의존 관계 (1) 1장 오브젝트와 의존 관계 (2) 2장 테스트 3장 템플릿 (1) 3장 템플릿 (2) 4장 예외 5장 서비스 추상화 (1) 5장 서비스 추상화 (2) 6장 AOP (1) 6장 AOP (2) 6장 AOP (3) 7장 스프링 핵심 기술의 응용 (1). 7장 스프링 핵심 기술의 응용 (2) 7장 스프링 핵심 기술의 응용 (3) 7장 스프링 핵심 기술의 응용 (4) 8장 스프링이란 무엇인가 9장 스프링 프로젝트 시작하기 (1) 9장 스프링 프로젝트 시작하기 (2)
-
6장 AOP (2)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 1. 25. 08:22
책장속 먼지털기 스터디 11차 스터디 날짜 : 2021.01.25 작성 날짜 : 2021.01.24 - 2021.01.25 페이지 : 475 - 512 개요 이전 장을 통해서 우리는 ProxyFactoryBean과 Advise, Pointcut을 적용하여, 핵심 기능에서 분리하여 부가 기능을 따로 깔끔하게 적용할 수 있도록 만들었다. 이번 장에서는 우리가 여태까지 해온 작업들을 돌아보고 Spring AOP를 이용해서 조금 더 "투명한 부가기능 형태"로 제공해보자. 여기서 투명하다라는 뜻은, 부가 기능을 적용한 후에도 기존, 설계와 코드에 영향을 주지 않는다는 뜻이다. 프록시 팩토리 빈의 한계와 극복 방법 지난 장에서 언급했던 프록시 팩토리 빈의 두 가지 한계를 다시 한 번 톺아보자. (여기서 프록시 팩토..
-
6장 AOP (1)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 1. 18. 11:38
책장속 먼지털기 스터디 9차, 10차 스터디 날짜 : 2021.01.11, 2021.01.18 작성 날짜 : 2021.01.10 - 2021.01.18 페이지 : 401 - 474 개요 스프링의 3대 기술은 다음과 같다. IoC/DI (의존성 주입) PSA (서비스 추상화) AOP (관심사의 분리) 이 중 가장 어렵다는 Aspect Oriented Programming(이하 AOP)에 대해서 공부한다. 대표적인 예는 이전 장에서 만들었던 "트랜잭션"이다. 따라서 이전 장의 코드를 최대한 활용한다. 트랜잭션 코드의 분리 현재 UserService 코드의 문제점은 무엇일까? 트랜잭션 경계를 담당하는 코드와 비지니스 로직을 담당하는 코드가 뒤섞여 있다. 다음은 위의 문제점을 나타내는 코드의 본문이다. User..
-
5장 서비스 추상화 (2)24년 11월 이전/책장 속 먼지 털기 - 토비의 스프링 2021. 1. 4. 11:16
책장속 먼지털기 스터디 8차 스터디 날짜 : 2021.01.04 작성 날짜 : 2021.01.03 - 2021.01.04 페이지 : 349 - 399 개요 이번 스터디에서 다룰 목표는 다음과 같다. UserService의 DB 트랜잭션 적용 MailService 적용 각 기술들을 적용하면서 서비스 추상화를 적용하는 내용을 다룰 것이다. 또한 서비스 추상화를 하면서 예외 상황을 발생시키는 테스트를 작성하거나 Mock 객체를 이용한 테스트를 작성하는 방법에 대해서 다룰 것이다. 트랜잭션 서비스 추상화 임의로 예외를 어떻게 발생시킬까? 책에서 요구 사항 한 개를 추가하였다. 유저들의 레벨을 업그레이드 하는 도중 어떤 이유로 서버가 다운 됐을 때, 이미 업그레이드 된 유저들의 상태를 돌려놓고, 레벨 변경 작업을..