reactor-core/src/main/java/reactor/core/publisher/Flux.java
public static <T> Flux<T> merge(Publisher<? extends Publisher<? extends T>> source, int concurrency) {
		return merge(source, concurrency, Queues.XS_BUFFER_SIZE);
	}
public static <T> Flux<T> merge(Publisher<? extends Publisher<? extends T>> source, int concurrency) {
		return merge(source, concurrency, Queues.XS_BUFFER_SIZE);
	}
public static < T > Flux < T > merge ( Publisher < ? extends Publisher < ? extends T > > source , int concurrency ) { return merge ( source , concurrency , Queues . XS_BUFFER_SIZE ) ; }
Merge data from {@link Publisher} sequences emitted by the passed {@link Publisher}
into an interleaved merged sequence. Unlike {@link #concat(Publisher) concat}, inner
sources are subscribed to eagerly (but at most {@code concurrency} sources are
subscribed to at the same time).
<p>
<img class="marble" src="doc-files/marbles/mergeAsyncSources.svg" alt="">
<p>
Note that merge is tailored to work with asynchronous sources or finite sources. When dealing with
an infinite source that doesn't already publish on a dedicated Scheduler, you must isolate that source
in its own Scheduler, as merge would otherwise attempt to drain it before subscribing to
another source.

@param source a {@link Publisher} of {@link Publisher} sources to merge
@param concurrency the request produced to the main source thus limiting concurrent merge backlog
@param <T> the merged type

@return a merged {@link Flux}
Merge data from { @link Publisher } sequences emitted by the passed { @link Publisher } into an interleaved merged sequence . Unlike { @link #concat ( Publisher ) concat } inner sources are subscribed to eagerly ( but at most { @code concurrency } sources are subscribed to at the same time ) . <p > <img class = marble src = doc - files / marbles / mergeAsyncSources . svg alt = > <p > Note that merge is tailored to work with asynchronous sources or finite sources . When dealing with an infinite source that doesn t already publish on a dedicated Scheduler you must isolate that source in its own Scheduler as merge would otherwise attempt to drain it before subscribing to another source .