Welcome to 16892 Developer Community-Open, Learning,Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
4.3k views
Welcome To Ask or Share your Answers For Others

1 Answer

等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to 16892 Developer Community-Open, Learning and Share
...