2012-08-24 3 views
1

비동기 http 라이브러리를 사용하는 클라이언트 Rest API를 Java로 개발해야합니다. 좀 더 구체적으로, http 응답의 미래를 반환하는 Rest CRUD 작업을 만들 수 있습니다. 내 질문에, 래퍼 API가 이러한 Future 객체를 어떻게 처리해야합니까? 나는 미래의 API 사용자에게 미래를 제공해야 하는가? 그리고 그것을 다루는 것은 그에게 달려있다. 아니면 내가 스레딩 메커니즘을 개발해야 하는가?Java Rest 클라이언트 API (미래 사용)

+0

어떤 Http 클라이언트를 사용하고 있습니까? –

답변

2

이럴 내가하지 않으면 차라리 내 멀티 스레딩을하지 않았다 것이다 당신의 API의 소비자 인 경우 : 당신은 NIO 또는 무언가를 사용하여 자신의 전문 고도로 최적화 된 이벤트 IO 루프가

무슨 말인지 것은 내가 스레딩을 처리하려면 나는 것은 당신이 미래의 반환하여 값을 추가하고 사실 성가신 것하지 않는 것입니다 나 자신이 제공하는 것은 비동기 API (Future 반환)입니다.

이제 API 클라이언트를 Threadsafe으로 만들면 나에게 흥미가 생깁니다 (즉, 매번 새로운 클라이언트를 인스턴스화 할 필요가 없습니다).

async-http-client (NIO)과 같은 것을 사용하는 경우 지옥 예 Future을 반환하십시오.

+0

내 API REST 메서드가 모든 미래의 를 반환하면 OK라는 것을 의미합니까? – Jancsi

+0

내 편집 읽기. 예, NIO라는 진정한 의미의 것을 사용하는 한. –

0

왜 필요한가요? - 고부하 시스템의 미래로 생각하는 것이 중요하다고 생각합니다.

  • API는 소비자가 아니기 때문에 이러한 기능을 갖추면 도움이됩니다.
  • 웹 사이트의 경우 높은로드를 지원해야하는 경우 HTTP 응답을 기다리는 데 CPU 시간이 낭비됩니다. 오히려 비동기로 만들면 http 작업자가 다른 요청을 처리하는 데 더 효율적입니다.

  • 이 작업을 간소화 할 수있는 라이브러리를 사용하십시오.