전체 글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. Reactor flatmap vs map 비교 Webflux에서 자주 사용하는 flatmap과 map을 비교해보려고 한다. flatmap public final Mono flatMap(Function 2020. 11. 28. [번역] Concurrency in Spring WebFlux WebFlux에 대해 알아볼겸 아래 페이지를 번역해 보려고 한다. 개인적으로 이해하면서 쓰기 때문에 생략 및 의역이 많이 포함되어 있으므로 자세한 내용은 원문 참조 www.baeldung.com/spring-webflux-concurrency The Motivation for Reactive Programming 일반적인 웹 어플리케이션은 복잡한 부분들로 구성되어 있다. 특히 데이터베이스 호출과 같이 대부분의 Interaction은 Block되어 있다. 그러나 몇몇은 병렬적으로 작업을 처리하려 한다. 예를 들어, 2 명의 사용자가 웹 서버에 요청할 때 각기 다른 스레드로 핸들링된다. 멀티 코어 플랫폼에서는 이런 처리 방법이 전체 응답 시간 측면에서 효과가 있다. 또한 이렇게 처리 하는 방식은 thread.. 2020. 11. 28. 이전 1 2 3 4 ··· 19 다음