HTTP-клиент на основе Java, который поддерживает конвейеризацию - PullRequest
3 голосов
/ 06 мая 2010

Известна ли вам какая-либо бесплатная библиотека Java, которая поддерживает функцию конвейерной передачи HTTP HTTP / 1.1 (http://en.wikipedia.org/wiki/HTTP_pipelining)?

Ответы [ 4 ]

1 голос
/ 06 мая 2010

HTTPClient, очевидно, поддерживает конвейеризацию здесь:

http://www.innovation.ch/java/HTTPClient/

но я лично не пробовал и не могу это проверить.

1 голос
/ 06 мая 2010

Я не думаю, что вы найдете какие-либо распространенные, поддерживающие трубопровод. Jetty HttpClient, кажется, поддерживает его из документа, но я не смог сделать это.

Обратите внимание, что конвейер отличается от поддержки активности. Поддержание активности означает просто повторное использование соединения, но оно все равно может отправлять только один запрос за раз по соединению. С конвейером вы можете отправлять несколько запросов одновременно по одному и тому же соединению и ждать их соответствующих ответов.

0 голосов
/ 18 апреля 2011

Я понимаю, что моему ответу около года, но так как это одна из главных ссылок для "java http pipelining", я подумал, что это актуально.

Hotpotato действительно теперь поддерживает конвейерную обработку, и, по моему ограниченному опыту, до сих пор он работал отлично. Также имеет приятный API для загрузки.

http://hotpotato.biasedbit.com/

РЕДАКТИРОВАТЬ: похоже, что этот проект теперь не поддерживается, и автор рекомендует Async HTTP-клиент: https://github.com/ning/async-http-client/

0 голосов
/ 24 августа 2010

hotpotato будет поддерживать конвейерную обработку действительно в ближайшее время. По производительности он превосходит HTTP-клиент Apache, особенно в средах с высокой степенью параллелизма (несколько потоков используют один и тот же экземпляр клиента).

Мне все еще нужно опубликовать результаты, но при тестировании локальной сети я получаю ~ 7000req / s (hotpotato) против ~ 100req / s (apache's). Конечно, большая часть заслуг должна идти к Нетти, на котором построен потрясающий фреймворк hotpotato;)

Если вам не нужен модный полноценный клиент, посмотрите здесь для более простой версии.

...