클라이언트 측 재시도 구성

Java용 Cloud 클라이언트 라이브러리는 재시도를 사용하여 예기치 않은 일시적인 오류(즉, 서버가 일시적으로 사용할 수 없음)를 처리합니다. 여러 번 시도하면 서버에서 성공적인 응답을 받을 수 있습니다.

기본 재시도 값은 클라우드 서비스를 운영하는 팀에서 선택합니다. 이러한 재시도 값은 RPC별로 구성됩니다. 서비스는 일부 RPC에 대해서만 재시도를 사용 설정할 수 있습니다. 서비스의 각 RPC가 다르게 구성될 수 있습니다.

재시도 매개변수

클라이언트 라이브러리에는 구성할 수 있는 두 가지 유형의 재시도 매개변수가 있습니다.

  1. 재시도 상태 코드: 재시도할 상태 코드 집합입니다.
  2. 재시도 제한 시간 또는 시도 범위: 범위를 정의하도록 구성 가능한 RetrySettings

기본 RPC 재시도 구성 위치

기본 재시도 구성은 생성된 {Client}StubSettings 파일에 정의되어 있습니다. Java-Asset v3.64.0의 ExportAssets RPC를 예로 들면 기본 재시도 구성은 다음 위치에 정의됩니다.

  • 재시도 상태 코드: AssetServiceStubSettings.java 파일에 구성됩니다. 예:

    ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = ImmutableMap.builder();
    definitions.put("no_retry_0_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList()));
    // ... More StatusCode configurations
    RETRYABLE_CODE_DEFINITIONS = definitions.build();
    
  • 재시도 매개변수: AssetServiceStubSettings.java 파일에 구성됩니다. 예:

    ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder();
    RetrySettings settings = null;
    settings =
        RetrySettings.newBuilder()
        .setInitialRpcTimeoutDuration