메시지 프로세서 연결을 다시 시도하도록 라우터 구성

Private Cloud용 Edge v. 4.17.09

상태 점검 중에 메시지 프로세서를 사용할 수 없는 경우 라우터 응답 구성

라우터는 5초마다 메시지 프로세서의 상태를 확인하여 메시지 프로세서가 요청을 처리할 수 있는지 확인합니다. 메시지 프로세서가 다운되면 라우터는 자동으로 요청을 다른 메시지 프로세서에 전달합니다.

라우터에 conf_load_balancing_load.balancing.driver.nginx.server.retry 속성을 설정하여 메시지 프로세서가 다운될 때 라우터가 대응하는 방법을 구성할 수 있습니다. 이 속성은 다음을 포함할 수 있는 공백으로 구분된 값 집합을 사용합니다.

  • off: 재시도를 사용 중지합니다. 요청 시 라우터가 실패 코드를 반환합니다.
  • http_599: (기본값) 라우터가 메시지 프로세서로부터 HTTP 599 응답을 수신하면 라우터는 다음 메시지 프로세서에 요청을 전달합니다.

    HTTP 599는 메시지 프로세서가 종료될 때 생성되는 특수 응답 코드입니다. 메시지 프로세서는 모든 기존 요청을 완료하려고 시도하지만, 새로운 요청이 있을 경우 HTTP 599로 응답하여 다음 메시지 프로세서에서 요청을 재시도하도록 라우터에 신호를 보냅니다.
  • error: 메시지 프로세서와의 연결을 설정하거나, 메시지 프로세서에 요청을 전달하거나, 메시지 프로세서에서 응답 헤더를 읽는 동안 오류가 발생하면 라우터는 다음 메시지 프로세서로 요청을 전달합니다.
  • timeout: 메시지 프로세서와의 연결을 설정하거나 메시지 프로세서에 요청을 전달하거나 메시지 프로세서에서 응답 헤더를 읽는 동안 시간 초과가 발생하면 라우터는 다음 메시지 프로세서로 요청을 전달합니다.
  • invalid_header: 메시지 프로세서가 비어 있거나 잘못된 응답을 반환하면 라우터는 다음 메시지 프로세서로 요청을 전달합니다.
  • http_XXX: 메시지 프로세서가 HTTP 코드 XXX를 포함한 응답을 반환하면 라우터는 요청을 다음 메시지 프로세서에 전달합니다.

라우터를 구성하려면 다음 단계를 따르세요.

  1. /opt/apigee/customer/application/router.properties 파일을 수정합니다. 파일이 없으면 새로 만듭니다.
  2. 아래와 같이 conf_load_balancing_load.balancing.driver.nginx.server.retry 속성을 추가합니다.
    conf_load_balanced_load. Balancing.driver.nginx.server.retry=http_599 오류
  3. 속성 파일을 'apigee' 사용자가 소유해야 합니다.
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. 라우터를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart

API 프록시 요청의 일부로 메시지 프로세서에 액세스할 때 라우터 시간 제한 구성

Edge 라우터는 API 프록시를 통해 요청을 처리하는 과정에서 메시지 프로세서에 액세스를 시도할 때 미리 설정된 제한 시간을 57초로 설정합니다. 제한 시간이 만료되면 라우터는 다른 메시지 프로세서를 사용할 수 있는 경우 연결을 시도합니다. 그렇지 않으면 오류가 반환됩니다.

다음 두 가지 속성을 사용하여 이 제한 시간을 제어할 수 있습니다.

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout은 단일 메시지 프로세서의 대기 시간을 초 단위로 지정합니다. 기본값은 57초입니다.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout은 Edge 설치에 여러 메시지 프로세서가 있는 경우 모든 메시지 프로세서의 총 대기 시간(초)을 지정합니다. 현재 값인 conf_load_balancing_load.balancing.driver.proxy.read.timeout의 기본값 또는 57초가 포함됩니다.

라우터를 구성하려면 다음 단계를 따르세요.

  1. /opt/apigee/customer/application/router.properties 파일을 수정합니다. 파일이 없으면 새로 만듭니다.
  2. 다음과 같이 속성을 설정합니다.
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
  3. 속성 파일을 'apigee' 사용자가 소유해야 합니다.
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. 라우터를 다시 시작합니다.
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart