🔗 리엑티브 선언문높은 응답성유연하고 탄력적메시지 기반 동작Reponsive - 응답성시스템이 가능한 즉각적으로 응답해야 한다.Resilient - 회복성시스템이 장애에 직면해도 응답성이 유지되어야 한다.Elastic - 탄력성작업량이 다양하게 변화하더라도 응답성이
작업 쓰레드가 종료될 때 까지 요청을 한 쓰레드는 차단된다.이러한 단점을 보완하기 위해 멀티 쓰레딩 기법으로 추가 쓰레드를 할당 할 수 있다.CPU 대비 많은 수의 쓰레드를 사용하면 비효율 적이 된다.컨텍스트 스위칭으로 인한 쓰레드 전환 비용 발생메모리 사용에 있어서
Spring 5 부터 지원하는 Reactive web framework 이다.비동기 Non-Blocking I/O 방식으로 적은 수의 쓰레드를 사용한다.Reactive Streams 의 구현체 중 하나인 Reactor 에 의존해 비동기 로직을 구성하고 Reactive
🔗 GitHub repositoryproject - reactivedependenciesspring reacvice weblombok아래는 기본적으로 설치된 reactor 로 구현된 코드를 테스트할 수 있는 라이브러리이다.준비가 잘 됬는지 확인하기 위해서 간단한 텍스
Reactive Programming 을 위한 Reactive 라이브러리를 의미한다.Reactive Streams 스펙을 구현한 구현체 중 하나이다.Spring 에코 시스템에서 Reactive Stack 의 기반이 되며 Spring WebFlux 프레임워크에 포함이 되
Reactive 프로그래밍에서 데이터의 처리 흐름을 시각화한 다이어그램이다.0 - 1 개의 데이터를 emit 하는 publisher 이다.Http Request 를 처리하기에 적합한 publisher데이터 emit 과정에서 에러가 발생하면 onError signal 을
Subscriber 가 구독할 때마다 타임라인이 생성 처음부터 emit 된 모든 데이터를 받을 수 있다.즉, 구독 시점이 달라도 모든 Subscriber 의 데이터가 같다.또한 각각의 Subscriber 는 각각의 타임라인을 갖기때문에 구독횟수만큼의 타임라인이 존재한다
Publisher 로 부터 Subscriber 에게 끊임없이 전달되는 데이터를 안정적으로 처리하기 위한 방식sub 이 pub 에게 subscribe() 로 구독함구독이 성공하면 sub 에게 onSubscribe 시그널을 보냄sub 은 pub 에게 requset 시그널을
sub 쪽에서 buffer 를 1로 제한해 backpressure 를 구현주석 X결과sub 에서 데이터를 2개씩 요청함결과
Thread 를 관리하는 관리자 역할을 수행할 수 있다.구독시점에 data 가 emit 되는 영역과 emit 된 data 를 operator 로 가공처리하는 영역을 분리해 편리하게 멀티 쓰레드를 관리할 수 있다.Operator 체인에서 Scheduler 를 전환하는 역
React Sequence 상에서 상태값을 저장하는 인터페이스이다.저장된 상태값을 Operator 체인내에서 공유해 사용할 수 있다.저장할 값은 Key, Value 형태로 저장이 된다.contextWrite() 를 사용해 저장하고,ContextView 를 사용해 조회할
put(key, value)컬렉션 처럼 사용하면 된다.of(key1, value2, key2, value2, ...)key/value 형태로 Context 에 여러개의 값을 쓸 수 있다.putAll(ContextView)기존의 Contrext 와 파라미터로 입력된 Co
아래 코드를 보면 Mono 에서 data 를 배포할 때 deferContextual() 를 호출해 context 를 조회해 data 를 생성하고 있다.이후 subscribeOn() 과 publishOn 을 사용해 publisher 와 subscriber 의 Thread