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

AWS SDK para Java 1.x ha entrado en modo de mantenimiento el 31 de julio de 2024 y llegará al final de soporte el 31 de diciembre de 2025. Le recomendamos que migre a AWS SDK for Java 2.x para seguir recibiendo nuevas características, mejoras de disponibilidad y actualizaciones de seguridad.

Configuración de los clientes

AWS SDK para Java le permite cambiar la configuración predeterminada del cliente, que es ú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

Cuando crea un objeto cliente, puede pasar un objeto ClientConfiguration 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 objeto ClientConfiguration. De vez en cuando se añaden nuevas opciones; para ver la lista completa de opciones que puede recuperar o definir, consulte la referencia de la API AWS SDK para Java.

nota

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

Número máximo de conexiones

Puede definir el número máximo de conexiones HTTP abiertas mediante el método ClientConfiguration.setMaxConnections.

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 obtener el número máximo predeterminado de conexiones, consulte Valores de campos constantes en la Referencia de la API AWS SDK para Java.

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 definir este valor, use el método ClientConfiguration.setConnectionTimeout.

  • 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 establecer el TTL de una conexión HTTP, use 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 el método ClientConfiguration.setMaxErrorRetry.

Dirección local

Para establecer la dirección local a la que se conectará el cliente HTTP, utilice ClientConfiguration.setLocalAddress.

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

Los usuarios avanzados que deseen ajustar los parámetros de TCP de bajo nivel pueden definir sugerencias del tamaño del búfer TCP mediante el objeto ClientConfiguration. 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: