2016-10-27 6 views
0

나는 검색 요청을 받기 위해 서버로 vert.x를 사용하고 있으며 서버에서 다양한 외부 서비스에 대한 여러 나가는 HTTP 요청을 처리합니다.나가는 HTTP 요청을 조절

비동기 동작의 경우 Vert.x 기본 http 클라이언트를 사용하여 RxJava를 사용하도록 선택했습니다.

제가 사용하는 서비스는 초당 최대 1 통화로 제한됩니다.

NIO HTTP 발신 요청을 차단하는 가장 좋은 방법은 무엇입니까?

  1. 단일 서버 환경에서.
  2. 클러스터 된 서버 환경에서. 문제를 해결하기
  3. 단일 서버에서
+0

일부 코드를 표시 할 수 있습니까? 1 초의 병목 현상이있는 경우 왜 완전 반응을 보일까요? –

+0

RxJava는 미래 또는 약속 기반 API보다 비동기 함수 프로그래밍에 대한보다 완벽한 솔루션 인 것처럼 보이기 때문에 RxJava를 사용하고 있습니다. –

답변

1

에게 순진한 접근 방법은 다음과 같습니다

  1. 밀어 큐
  2. 에 요청 더한 결과 핸들러는 대기열에서 요소를 팝업주기 핸들러를 가지고 모든 초와는 요청을
  3. 전화 당신이 확장 할 수있는 클러스터 방식으로 결과 또는 오류

와 결과 핸들러를 실행

  1. 요청 및 설치
  2. 이 서비스는 이전의 설명에로 일 것이다 응답 핸들러로 주소로 메시지를 보내기 : 뭔가 같은 것 때문에 이전의 개념 및 이벤트 버스 주소를 포장
  3. 처리기를 호출하는 대신 서비스는 메시지 응답 처리기를 사용하여 결과를 전달합니다.
+0

답장을 보내 주신 Paulo에게 감사드립니다. 응답의 클러스터 부분과 관련하여 발신 통화 요금 한도와 일치하도록 해당 메시지 버스 대기열의 소비율을 제어해야합니다. –

관련 문제