본문 바로가기

분류 전체보기114

docker compose 란 docker compose에 대해 알아보려고 한다. (참조: docs.docker.com/compose/) docker compose는 여러 개의 docker를 정의하고 실행하는 툴이다. 그래서 kubernetes 처럼 YAML 파일로 여러 개의 docker 내부 속성을 설정하고 한 번에 실행시킨다. 마치 docker를 배치로 한 번에 실행시키는 것과 같다. (아래 docker compose 실행 순서 참조) 1. Define your app’s environment with a Dockerfile so it can be reproduced anywhere. 2. Define the services that make up your app in docker-compose.yml so they can be .. 2020. 12. 28.
resilience4j 기본 개념 resilience4j의 기본 개념이나 코어 모듈에 대해 간략히 알아보도록 하겠다. Retry 해당 모듈은 말 그대로 "재시도" 관련 모듈이다. 재시도 횟수 등등을 설정을 할 수 있는데 아래 정리된 표를 보면 보다 이해하기 쉽니다. Config Property Default value Description maxAttempts 3 최대 재시도 횟수 waitDuration 500 [ms] 재시도 간격 즉, 다음 재시도 전 대기 시간 intervalFunction numOfAttempts -> waitDuration 실패 이후 대기 시간에 수행하는 작업을 대체하는 함수 즉, 기본은 waitDuration 만큼 대기하지만 무조건 대기하지 않고 다른 작업을 추가 retryOnResultPredicate resu.. 2020. 12. 22.
Reactor 예외 발생에 대해 리액터에서 예외를 발생시키는 방법은 다양하다 그 중에 2가지 throw와 error 에 대해 알아보려고 한다. throw는 가장 일반적으로 예외를 발생시키는 키워드라 생략하고, error에 대해 알아보겠다. public static Mono error(Throwable error) 공식 페이지를 살펴보면 위와 같다. 대략적으로 마블 다이어그램을 보면, consumer로 부터 subscribe가 발생하면 그 때, error 안에 값인 Throwable 값이 emit된다. Mono.error(new IllegalArgumentException()) 예제를 보면 위와 같이 사용할 수 있다. 그런데!! throw와 error를 사용하는 시점은 좀 다르다. (아래 예제 참조) fluxOrMono.flatMap(n.. 2020. 12. 4.
Reactor defer란 Reactor의 defer에 대해 알아보려고 한다. public static Mono defer(Supplier 2020. 11. 28.