많은 요청을 받아야하는 빠르고 빡빡한 HTTP 서버를 작성하고 있으므로 Netty의 HTTP 서버 구현이 매우 간단하고 작업을 수행하기 때문에 지난 날 Netty를 탐색 해 왔습니다.비동기 Netty HttpServer 및 HttpClient
내 다음 단계는 요청 처리의 일부이므로 외부 웹 서버에 HTTP 요청을 시작해야합니다. 내 직관은 동시에 많은 요청을 보낼 수있는 비동기 클라이언트를 구현하는 것이지만 올바른 접근 방식으로 약간 혼란 스럽다. 내 이해 Netty 서버 각 수신 메시지에 대한 작업자 스레드를 사용하는, 따라서 해당 작업자 스레드가 내 처리기가 작업을 완료 할 때까지 새 메시지를 받아들이도록 해제되지 것입니다. 여기에 펀치가 있습니다. 비동기식 HTTP 클라이언트가 있어도 각 응답을 기다려야하고 서버 처리기로 처리해야 할 필요는 없습니다. 동일한 작업자 스레드가이 모든 시간 동안 차단 상태를 유지합니다. 다른 방법은 클라이언트의 비동기 성질을 사용하여 미래의 객체를 신속하게 반환하여 스레드를 해제하고 리스너를 배치하는 것입니다 (클라이언트에 200 또는 202 상태를 리턴해야 함을 의미 함). 받은 및 클라이언트에 밀어 수 있습니다.
의미가 있습니까? 나는 내 가정과 어울려? 그런 종류의 Netty 액세서 서버 + 높은 동시성을 가진 외부 클라이언트를 구현하는 좋은 방법은 무엇입니까? 당신을 가정
감사합니다,
답장을 보내 주셔서 감사합니다. 첫 번째 옵션을 사용하면 스레드/스레드 풀이 사용되는 리스너가 응답을 처리 할 때? 그리고 두 번째 옵션을 사용하면 어떤 블록과 '차단하고 싶지 않은 다른 논리'사이에 '중요/필수 처리'사이의 선을 그릴 수 있는지를 알 수 있습니다. 예를 들어 설명하면 처리 할 수 있습니다. 내 이해가 맞습니까? – user2413964