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

O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-supportem 31 de dezembro de 2025. Recomendamos que você migre para o AWS SDK for Java 2.xpara continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.

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

  • Altere as configurações de HTTP transporte, como tempo limite de conexão e novas tentativas de solicitação

  • Especifique dicas TCP de tamanho do buffer de soquete

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.

HTTPConfiguração de transporte

Você pode configurar várias opções de HTTP transporte 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 AWS SDK for Java API Referência.

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 AWS SDK for Java API referência.

Conexões máximas

Você pode definir o número máximo permitido de HTTP conexões 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 obter o valor máximo padrão das conexões, consulte Valores de campo constantes na AWS SDK for Java API referência.

Tempos limite e processamento de erros

Você pode definir opções relacionadas aos tempos limite e ao tratamento de erros nas HTTP conexões.

  • Tempo limite da conexão

    O tempo limite da conexão é a quantidade de tempo (em milissegundos) que a HTTP conexão 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.

  • Tempo de conexão ao vivo (TTL)

    Por padrão, eles SDK tentarão reutilizar HTTP as conexões pelo maior tempo possível. Em situações de falha em que uma conexão é estabelecida com um servidor que foi retirado de serviço, ter uma conexão finita TTL pode ajudar na recuperação do aplicativo. Por exemplo, definir 15 minutos TTL garantirá que, mesmo que você tenha uma conexão estabelecida com um servidor com problemas, você restabeleça a conexão com um novo servidor em 15 minutos.

    Para definir a HTTP conexãoTTL, use ClientConfigurationo. setConnectionTTLmétodo.

  • 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 HTTP cliente se vinculará, useClientConfiguration. setLocalAddress.

TCPDicas de tamanho do buffer de soquete

Usuários avançados que desejam ajustar TCP parâmetros de baixo nível também podem definir dicas de tamanho do TCP buffer 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 ideais de TCP buffer para um aplicativo dependem muito da configuração e dos recursos da rede e do sistema operacional. Por exemplo, a maioria dos sistemas operacionais modernos fornece lógica de ajuste automático para tamanhos de TCP buffer. Isso pode ter um grande impacto no desempenho de TCP conexões que são mantidas abertas por tempo suficiente para que o ajuste automático otimize os tamanhos do 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 máximo de tamanho de TCP buffer configurado e não permite que você ultrapasse esse limite, a menos que você aumente explicitamente o limite máximo de tamanho de TCP buffer.

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