Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others


0 votes
in Technique[技术] by (71.8m points)

spring boot - WebFlux – Back-pressure – Limit # of concurrent requests

We have an applications that reads data from a database (using a reactive driver), transform it and pushes it to Elastic Search (ES) using ReactiveElasticsearchClient in bulks. What is happening is that this particular ES does not support more than 200 on-going bulk-requests. As the call is made async, I need to control that not more than 200 requests are made without receiving the async response.

The flux/pipe is something like:

db-read→transform-to-object→bulk-collect→call-es(in flatmap)→subscribe es response handler.

I tried to set parameters in the underlying tcppool (maxconnections) and it works but when the maxconnections are reached the flux/pipe fails.

Is there any way to limit active connections (awaiting response) applying back-pressure or any other way to limit this number?

The ES client uses the WebClient to execute async request to ES

Thanks very much. Fernando.

Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share