Я оцениваю AsyncHttpClient для больших нагрузок (~ 1 М HTTP-запросов). Для каждого запроса я хотел бы вызвать обратный вызов с помощью AsyncCompletionHandler, который просто вставит результат в очередь блокировки.
Мой вопрос: если я отправляю асинхронные запросы в замкнутом цикле, сколько потоков будет использовать AsyncHttpClient? (Я знаю, что вы можете установить максимальное значение, но, видимо, вы рискуете потерять запросы, я видел это здесь)
В настоящее время я использую реализацию Netty с этими версиями:
- асинхронный http-клиент v1.9.33
- нетти v3.10.5.Final
Я не возражаю против использования других версий, если в более поздних версиях есть какая-либо оптимизация.
РЕДАКТИРОВАТЬ:
Я читал, что Netty использует шаблон реактора для реагирования на ответы HTTP, что означает, что он выделяет очень небольшое количество потоков для работы в качестве селекторов. Это также означает, что количество выделенных потоков не увеличивается при большом объеме запросов. Однако это противоречит необходимости устанавливать максимальное количество подключений.
Кто-нибудь может объяснить, что мне не хватает?
заранее спасибо