프라이빗 클라우드용 Edge v. 4.17.05
상태 점검 중에 메시지 프로세서를 사용할 수 없는 경우 라우터 응답 구성
라우터는 5초마다 메시지 프로세서에 대한 상태 점검을 수행하여 메시지 프로세서가 요청을 처리할 수 있는지 확인합니다. 메시지 프로세서가 다운되면 라우터가 요청을 다른 메시지 프로세서로 자동으로 전달합니다.
라우터에서 conf_load_balancing_load.balancing.driver.nginx.server.retry 속성을 설정하여 메시지 프로세서가 다운될 때 라우터가 반응하는 방식을 구성할 수 있습니다. 이 속성은 공백으로 구분된 값 집합을 사용하며, 여기에는 다음이 포함될 수 있습니다.
- off: 재시도를 사용 중지합니다. 라우터는 요청 시 실패 코드를 반환합니다.
- http_599: (기본값) 라우터가 메시지 프로세서에서 HTTP 599 응답을 수신하면 라우터는 요청을 다음 메시지 프로세서로 전달합니다.
HTTP 599는 메시지 프로세서가 종료될 때 생성되는 특수한 응답 코드입니다. 메시지 프로세서는 기존의 모든 요청을 완료하려고 시도하지만, 새 요청에 대해서는 HTTP 599로 응답하여 라우터에 다음 메시지 프로세서에서 요청을 재시도하도록 신호를 보냅니다. - error: 메시지 프로세서와 연결을 설정하거나, 요청을 전달하거나, 응답 헤더를 읽는 중에 오류가 발생하면 라우터는 요청을 다음 메시지 프로세서로 전달합니다.
- 제한 시간: 메시지 프로세서와 연결을 설정하거나, 요청을 전달하거나, 응답 헤더를 읽는 동안 제한 시간이 초과되면 라우터는 요청을 다음 메시지 프로세서로 전달합니다.
- invalid_header: 메시지 프로세서가 비어 있거나 잘못된 응답을 반환하면 라우터는 요청을 다음 메시지 프로세서로 전달합니다.
- http_XXX: 메시지 프로세서가 HTTP 코드 XXX로 응답을 반환하면 라우터는 요청을 다음 메시지 프로세서로 전달합니다.
라우터를 구성하려면 다음 안내를 따르세요.
- /opt/apigee/customer/application/router.properties 파일을 수정합니다 (파일이 없으면 만듭니다).
- 아래와 같이 conf_load_balancing_load.balancing.driver.nginx.server.retry 속성을 추가합니다.
conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error - 속성 파일이 'apigee' 사용자의 소유인지 확인합니다.
> chown apigee:apigee /opt/apigee/customer/application/router.properties - 라우터를 다시 시작합니다.
> /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초입니다.
라우터를 구성하려면 다음 안내를 따르세요.
- /opt/apigee/customer/application/router.properties 파일을 수정합니다 (파일이 없으면 만듭니다).
- 아래와 같이 속성을 설정합니다.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240 - 속성 파일이 'apigee' 사용자의 소유인지 확인합니다.
> chown apigee:apigee /opt/apigee/customer/application/router.properties - 라우터를 다시 시작합니다.
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart