We have few services that are expensive to call. I want to make a rest service that will act as aggregator for other(heavy) rest services, lets say s1 and s2, in order to limit network calls and number of invocations.
The aggregation service should return response then and only then when it got response from all services s1 and s2. Also aggregation service should group requests from its clients, and send them as one request to s1 and s2. It should wait up to N sec before making call to services s1,s2 or wait until it collects Y requests because response can't be delayed too much. What should I use? Spring integration, webflux, reactor, lowlevel core api?
I'm wondering if there is already in one of those implemented this integration pattern (EIP).
I havent tried any solution yet.