Configuración de los clientes - AWS SDK for Java 1.x

Anunciamos la próxima versión end-of-support para AWS SDK for Java (v1). Se recomienda que migre a AWS SDK for Java versión 2. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de los clientes

AWS SDK for Java Esto le permite cambiar la configuración predeterminada del cliente, lo que resulta útil cuando desea:

  • Conectarse a Internet a través del proxy

  • Cambiar la configuración del transporte HTTP, como el tiempo de espera y los reintentos de solicitud de conexión

  • Especificar sugerencias del tamaño del búfer del socket TCP

Configuración del proxy

Al crear un objeto de cliente, puede pasar un ClientConfigurationobjeto opcional para personalizar la configuración del cliente.

Si se conecta a Internet a través de un servidor proxy, tendrá que configurar las opciones del servidor proxy (host del proxy, puerto y nombre de usuario/contraseña) a través del objeto ClientConfiguration.

Configuración del transporte HTTP

Puede configurar varias opciones de transporte HTTP mediante el ClientConfigurationobjeto. De vez en cuando se añaden nuevas opciones; para ver la lista completa de opciones que puede recuperar o configurar, consulte la referencia de la AWS SDK for Java API.

nota

Cada uno de los valores configurables tiene un valor predeterminado definido por una constante. Para obtener una lista de los valores constantes deClientConfiguration, consulte Valores de campo constantes en la referencia de la AWS SDK for Java API.

Número máximo de conexiones

Puede establecer el número máximo permitido de conexiones HTTP abiertas mediante ClientConfiguration. setMaxConnectionsmétodo.

importante

Para evitar problemas de conexión y un desempeño deficiente, establezca el número máximo de conexiones en el número de conexiones simultáneas. Para ver el valor máximo de conexiones predeterminado, consulta los valores de campo constantes en la referencia de la AWS SDK for Java API.

Tiempos de espera y tratamiento de errores

Puede configurar opciones relacionadas con los tiempos de espera y el tratamiento de errores con conexiones HTTP.

  • Tiempo de espera de conexión

    El tiempo de espera de conexión es la cantidad de tiempo (en milisegundos) que la conexión HTTP esperará a que se establezca una conexión antes de desistir. El valor predeterminado es 10 000 ms.

    Para establecer este valor usted mismo, utilice ClientConfiguration. setConnectionTimeoutmétodo.

  • Tiempo de vida (TTL) de la conexión

    De forma predeterminada, el SDK intentará volver a utilizar las conexiones HTTP siempre que sea posible. En situaciones en las que no es posible establecer una conexión con un servidor que está fuera de servicio, disponer de un TTL finito puede ayudarle a recuperar la aplicación. Por ejemplo, si configura un TTL de 15 minutos, se asegurará de que aunque tenga establecida una conexión con un servidor que está experimentando problemas, se restablecerá una conexión con un nuevo servidor en un plazo de 15 minutos.

    Para configurar el TTL de la conexión HTTP, utilice el método ClientConfiguration.setConnectionTTL.

  • Número máximo de reintentos con error

    El número máximo predeterminado de reintentos para errores recuperables es 3. Puede establecer un valor diferente mediante. ClientConfiguration setMaxErrorMétodo de reintento.

Dirección local

Para establecer la dirección local a la que se enlazará el cliente HTTP, utiliceClientConfiguration. setLocalAddress.

Sugerencias del tamaño del búfer del socket TCP

Los usuarios avanzados que deseen ajustar los parámetros TCP de bajo nivel también pueden configurar sugerencias sobre el tamaño del búfer TCP a través del ClientConfigurationobjeto. La mayoría de los usuarios nunca necesitarás ajustar estos valores, pero se proporcionan para los usuarios avanzados.

Los tamaños del búfer TCP óptimos para una aplicación dependen en gran medida de la red y de la configuración y funciones del sistema operativo. Por ejemplo, la mayoría de los sistemas operativos modernos proporcionan lógica de ajuste automático para los tamaños del búfer TCP. Esto puede afectar considerablemente al desempeño de las conexiones TCP que se mantienen abiertas el tiempo suficiente para que el ajuste automático optimice los tamaños del búfer.

Los tamaños de búfer grandes (p. ej., 2 MB) permiten al sistema operativo almacenar más datos en memoria sin requerir que el servidor remoto confirme la recepción de esa información y pueden ser especialmente útiles cuando la red tiene alta latencia.

Esto es solo una sugerencia y puede que el sistema operativo no la aplique. Cuando se utiliza esta opción, los usuarios deben comprobar siempre los límites y valores predeterminados del sistema operativo. La mayoría de los sistemas operativos tienen un límite máximo de tamaño del búfer TCP configurado y no permiten que se supere ese límite a menos que se aumente explícitamente el límite máximo del tamaño del búfer TCP.

Hay muchos recursos disponibles que le pueden ayudar a configurar los tamaños del búfer TCP y las opciones de TCP específicas del sistema operativo, incluidas las siguientes: