- Flux : 0 ~ N 개의 데이터 전달
- Mono : 0 ~ 1 개의 데이터 전달
즉 Flux는 큰 데이터를 여러개로 나눠서 보낼때, Mono는 데이터가 크던지 작던지 한번에 보낼때 사용됩니다.
아래 실제 소스코드를 확인해보면 Mono 는 단 건만 Flux는 단건 다건 둘다 가능합니다.
public static <T> Mono<T> just(T data) {
return onAssembly(new MonoJust<>(data));
}
public static <T> Flux<T> just(T... data) {
return fromArray(data);
}
public static <T> Flux<T> just(T data) {
return onAssembly(new FluxJust<>(data));
}
스택오버플로우를 참조 해보면 Fulx는 ContentType 이 application/stream+json 스트리밍 형식을 사용 할때 영향을 줄 수 있다고 되어있네요.
https://stackoverflow.com/questions/52927137/monolistt-difference-with-fluxt-in-spring-webflux
application/stream+json MIME 타입은 주로 대용량 데이터를 전송하는 목적으로 사용 되는데,현재는 application/x-ndjson이 공식 타입이 되었다고 합니다.
application/x-ndjson은 스프링 데이터 엘라스틱 서치에서 벌크 연산시에 사용 되고 있습니다.
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html
'BackEnd' 카테고리의 다른 글
Java Service Tree Framework 의 Global Tree Map 설명 (0) | 2023.07.24 |
---|---|
Java Service Tree Framework 의 Entity 릴레이션 관리 방안 (0) | 2023.07.24 |
Java Service Tree Framework 의 중재자(Mediator) 패턴 설명 (0) | 2023.07.05 |
Java Service Tree Framework 의 옵서버(Observer) 패턴 설명 ( DWR ) (0) | 2023.06.29 |
Java Service Tree Framework 의 데코레이터(Decorator) 패턴 설명 ( 동적 테이블 :: Hibernate :: empty interceptor ) (0) | 2023.06.29 |