Reactive : 반응을 하는, 반응을 보이는
Reactive System
Reactive System 설계원칙
Reactive Programming
Reactive Programming 특징
Reactive Streams : 리액티브 프로그래밍을 위한 표준 사양(or 명세, Specification)
public interface Publisher<T> {
public void subscribe(Subscriber<? super T> s);
}
public interface Subscriber<T> {
public void onSubscribe(Subscription s);
public void onNext(T t);
public void onError(Throwable t);
public void onComplete();
}
public interface Subscription {
public void request(long n);
public void cancel();
}
public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {
}
Rx
가 붙으면 특정 언어에서 리액티브 스트림즈를 구현한 별도 구현체가 존재한다는 의미Publisher : 데이터를 내보내는 주체 (ex. Mono, Flux 등)
Emit : Publisher가 데이터를 내보내는 것
Subscriber : Publisher가 emit한 데이터를 전달 받아 소비하는 주체
Subscribe : 구독
Signal : Publisher가 발생시키는 이벤트
Operator : 어떤 동작을 수행하는 메서드
Sequence : Operator 체인으로 표현되는 데이터의 흐름
Upstream : 특정 Operator를 기준으로 위쪽의 Sequence 일부
Downstream : 특정 Operator를 기준으로 아래 쪽 Sequence 일부
심화
선언형 프로그래밍
https://www.techtarget.com/searchitoperations/definition/declarative-programming
https://en.wikipedia.org/wiki/Declarative_programming