Configuração do cliente - AWS SDK for Java 1.x

Anunciamos o próximo end-of-support para AWS SDK for Java (v1). Recomendamos migrar para o AWS SDK for Java v2. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configuração do cliente

O AWS SDK for Java permite que você altere a configuração padrão do cliente, o que é útil quando você deseja:

  • Conectar-se à Internet por meio de proxy

  • Alterar configurações de transporte HTTP, como tempo limite da conexão e novas tentativas de requisição

  • Especificar dicas de tamanho do buffer de soquete TCP

Configuração do proxy

Ao construir um objeto cliente, você pode passar um ClientConfigurationobjeto opcional para personalizar a configuração do cliente.

Se você se conectar à Internet por meio de um servidor de proxy, será necessário configurar as definições do servidor de proxy (host do proxy, porta e nome de usuário/senha) por meio do objeto ClientConfiguration.

Configuração do transporte HTTP

Você pode configurar várias opções de transporte HTTP usando o ClientConfigurationobjeto. Ocasionalmente, novas opções são adicionadas; para ver a lista completa de opções que você pode recuperar ou definir, consulte a Referência da AWS SDK for Java API.

nota

Cada um dos valores configuráveis tem um valor padrão definido por uma constante. Para obter uma lista dos valores constantes paraClientConfiguration, consulte Valores de campo constantes na Referência da AWS SDK for Java API.

Conexões máximas

Você pode definir o número máximo permitido de conexões HTTP abertas usando ClientConfigurationo. setMaxConnectionsmétodo.

Importante

Defina o número máximo de conexões para o número de transações simultâneas de modo a evitar disputas de conexão e baixo desempenho. Para o valor máximo padrão das conexões, consulte Valores de campo constantes na Referência AWS SDK for Java da API.

Tempos limite e processamento de erros

Você pode definir opções relacionadas a tempos limite e processamento de erros com conexões HTTP.

  • Tempo limite da conexão

    Tempo limite da conexão é o tempo (em milissegundos) que a conexão HTTP aguardará para estabelecer uma conexão antes de desistir. O padrão é 10.000 ms.

    Para definir esse valor você mesmo, use ClientConfigurationo. setConnectionTimeoutmétodo.

  • Time to Live (TTL – Tempo de vida) da conexão

    Por padrão, o SDK tentará reutilizar conexões HTTP, enquanto isso for possível. Em situações de falha nas quais uma conexão seja estabelecida com um servidor fora de serviço, ter um TTL finito pode ajudar na recuperação do aplicativo. Por exemplo, definir um TTL de 15 minutos garantirá que, mesmo se tiver uma conexão estabelecida com um servidor que esteja enfrentando problemas, você restabelecerá uma conexão com um novo servidor dentro de 15 minutos.

    Para definir o TTL da conexão HTTP, use o ClientConfigurationmétodo.setConnectionTTL.

  • Máximo de repetições com erro

    A contagem máxima padrão de novas tentativas para erros repetíveis é três. Você pode definir um valor diferente usando ClientConfigurationo. setMaxErrorMétodo de repetição.

Endereço local

Para definir o endereço local ao qual o cliente HTTP se vinculará, useClientConfiguration. setLocalAddress.

Dicas de tamanho do buffer de soquete TCP

Usuários avançados que desejam ajustar parâmetros TCP de baixo nível também podem definir dicas de tamanho do buffer TCP por meio do objeto. ClientConfiguration A maioria dos usuários jamais precisará ajustar esses valores, mas eles são fornecidos para usuários avançados.

Os tamanhos de buffer TCP ideais de um aplicativo dependem muito das configurações e dos recursos da rede e do sistema operacional. Por exemplo, a maioria dos sistemas operacionais modernos oferece uma lógica de autoajuste para tamanhos de buffer TCP. Isso pode ter um grande impacto sobre o desempenho para conexões TCP mantidas abertas pelo tempo necessário para o autoajuste otimizar tamanhos de buffer.

Tamanhos de buffer grandes (por exemplo, 2 MB) permitem que o sistema operacional armazene em buffer mais dados na memória sem exigir que o servidor remoto confirme o recebimento dessas informações e, assim, podem ser especialmente úteis quando a rede tem alta latência.

Trata-se apenas de uma dica, e o sistema operacional talvez não esteja apto para isso. Ao usar essa opção, os usuários devem sempre verificar os limites configurados do sistema operacional e os padrões. A maioria dos sistemas operacionais tem um limite de tamanho de buffer TCP máximo configurado e não permitirá ir além desse limite, a menos que você aumente explicitamente o limite do tamanho de buffer TCP máximo.

Muitos recursos estão disponíveis para ajudar a definir configurações de tamanhos do buffer TCP e configurações específicas do sistema operacional, inclusive o seguinte: