Home
Jun
Cancel

헬스체크 유예 기간으로 겪은 배포 이슈

1. 글을 작성하게 된 계기 프로젝트 배포 과정에서 겪은 내용을 정리하기 위해 글을 작성하게 되었습니다. 2. Health Check Grace Period Health Check Grace Period 은 Auto Scaling이 인스턴스를 InService 상태로 전환한 후, 헬스 체크를 하기 전 기다리는 시간 입니다. 이는 인스턴...

IAC 도입과 사용하며 느낀점

1. 글을 작성하게 된 계기 최근 프로젝트를 진행하며 테라폼(Terraform)을 도입했는데, 이 과정에서 든 생각을 정리하기 위해 글을 작성하게 되었습니다. HashiCorp Terraform is an infrastructure as code tool that lets you define both cloud and on-prem res...

빌더 패턴의 불완전성 없애기

1. 글을 작성하게 된 계기 빌더 패턴(Builder Pattern)은 불완전해서 사용할 때 주의해야 한다는 이야기를 많이 합니다. 하지만 이를 보완하는 방법도 존재하는데요, 이를 소개하기 위해 글을 작성하게 되었습니다. 2. 빌더 패턴이 불완전한 이유 빌더 패턴은 객체가 생성되기 전, 필드를 자유롭게 추가 할 수 있으며, 사이드 이펙...

서킷브레이커, 재시도 동작순서 삽질기

1. 글을 작성하게 된 계기 Resilience4j가 제공하는 기능 중 서킷브레이커, 재시도 둘의 동작 순서를 조절 하고 싶었습니다. 재시도 -> 서킷브레이커 순으로 동작 시키고 싶었는데, 반대로 동작해 참 애를 먹었네요. 여튼, 이 과정에서 알게 된 내용을 정리하기 위해 글을 작성하게 되었습니다. 참고로 Resilience4j는 다음과 같...

시간

1. 글을 작성하게 된 계기 진우, 동균님과 스터디를 진행하며 알게 된 내용을 정리하기 위해 글을 작성하게 되었습니다. 2. 개념 시간에 대해 알기 위해서는 기본적으로 알고 있어야 하는 개념들이 있는데, 이에 대해 살펴보겠습니다. ISO 8601 Unix Time TimeZone UTC Zulu Time Offse...

배포 버전을 어떻게 명시할까?

1. 글을 작성하게 된 계기 2. 적용한 기술 조회한 데이터의 내용이 일정 시간 동안 변하지 않기 때문에, 캐시를 얼마나 효율적으로 사용하는지가 관건이라 판단했습니다. 따라서 캐시를 사용했는데요, 여기서 구현/적용한 내용은 다음과 같습니다. 비동기 데이터 조회 Fallback 패턴 캐시 갱신 2-1. 비동기 데이터 ...

스프링에서 잘못된 URL로 요청이 오면 어떻게 커스텀한 응답을 내려줄까?

1. 글을 작성하게 된 계기 스프링 부트 3.2 이전 버전에서는 잘못된 URL로 요청이 오면, yml 설정으로 커스텀한 응답을 내려줬습니다. 하지만 3.2 버전부터 해당 설정이 Deprecated 됐는데요, 3.2 버전 이후에는 어떻게 커스텀한 응답을 내려주는지 정리하기 위해 글로 작성하게 되었습니다. DispatcherServlet pr...

빌드와 컴파일의 차이는 무엇일까?

글을 작성하게 된 계기 스스로에게 빌드(Build) 와 컴파일(Compile) 의 차이에 관해 물었는데, 한두 문장으로 명확하게 정의하지 못했습니다. 이번 기회에 이를 명확하게 정리하고 싶어 글을 작성하게 되었습니다. 1. 빌드와 컴파일 먼저 빌드와 컴파일의 정의에 대해 살펴보겠습니다. 컴파일(Compile) 빌드(Build...

스프링 mvc는 왜 멀티 쓰레드 모델을 택했을까?

1. 글을 작성하게 된 계기 운영체제 공부를 할 때, 제이온님이 스프링은 왜 멀티 프로세서가 아닌 멀티 쓰레드를 사용할까요? 라는 질문을 했습니다. 이전에도 Youl님께 비슷한 질문을 받았는데요, 이 부분에 대해 명확하게 대답을 잘 못했습니다. 따라서 이번 기회에 이를 명확히 정리하기 위해 글을 작성하게 되었습니다. 스프링이 멀티 쓰레드를...

SpringBoot Docker-Compose 지원

1. 글을 작성하게 된 계기 최근 배포 시 외부 의존성을 줄이는 법, 개발 환경을 어떻게 하면 일관성 있게 통일할까? 등과 같은 개발 환경에 대해 관심이 많습니다. 이런저런 방법들을 시도하던 중, 스프링 부트 도커 컴포즈(Docker-Compose) 지원 을 듣고, 이를 사용해보며 느낀 장점과 간단한 사용법에 대해 정리하기 위해 글을 작성하게 ...