2014-09-12 12 views
0

불행히도 JDK의 HttpUrlConnection 또는 UrlConnection은 비동기 적으로 실행되지 않습니다. 어떤 이유로 든 HTTP 연결이 끊어지면 스레드가 끊어집니다. 또한 Selector의 멀티플렉싱은 많은 수의 HTTP GET 호출을 만들기 위해 몇 개의 스레드 만 사용할 수 있습니다. 그래서 NIO의 Selector를 사용하고 HTTP를 GET하는 코드를 개발했습니다. 따라서 HTTP 1.1을 완벽하게 지원한다는 점을 제외하면 핵심은 잘 작동합니다. Keep-Alive, 청크 분할 전송 모드 및 HTTP 1.1이 지원하는 여러 가지 기능을 지원해야합니다.Netty를 사용하는 몇 개의 스레드로 많은 수의 HTTP GET 요청을내는 것

Netty에서도이 작업을 수행하려고했지만 단일 스레드를 사용하여 여러 HTTP GET 요청을 만드는 방법을 보여주는 예제를 찾을 수 없었습니다.

누군가가 나에게 네티티 예제 또는 다른 적절한 라이브러리를 가르쳐 주시면 감사하겠습니다. 감사합니다.

답변

1

Netty 's Channel EventLoop 모델은 최대 클라이언트 연결 수를 지원하는 최소 스레드 수를 관리합니다. 프레임 워크에 구워집니다.

API 문서에는 몇 가지 HTTP 예제가 있습니다 (소스 파일에 example이라는 폴더가 있음). 또한 GitHub에는 Manning 서적 Netty in Action의 예제를 기반으로하는 몇 가지 HTTP 예제가 있습니다. 15 장 - EventLoop과 Thread-Model에서는이 모든 것을 자세하게 설명합니다.

+0

이 위대한 팁 주셔서 감사합니다. Channel EventLoop을 살펴볼 것입니다. –