Un ingeniero de Clarityboss ha simplificado la configuración de HTTP/2 para Google Cloud Run, resolviendo un problema conocido de desconexiones de clientes con streams de eventos del lado del servidor (SSE) de larga duración. Cloud Run, por defecto, utiliza HTTP/1.1, lo que provoca desconexiones inesperadas. La implementación de HTTP/2 cleartext (h2c) permite una comunicación más estable y evita este problema. Anteriormente, la configuración de h2c requería el uso del paquete golang.org/x/net/http2, lo que implicaba una configuración compleja. Con la versión 1.24 de Go, este proceso se ha simplificado significativamente, permitiendo la configuración directa de protocolos en el servidor HTTP. El ingeniero ha proporcionado ejemplos de código para ambas versiones de Go, facilitando la migración. Además, se detalla la configuración necesaria en Terraform para desplegar el servicio en Cloud Run, incluyendo ajustes en la concurrencia máxima de instancias y el tiempo de espera (timeout) para soportar las conexiones de larga duración de los SSE. La actualización no requirió cambios significativos en el balanceador de carga, ya que este gestiona la negociación de la conexión a HTTP/2.
Cloud Run: Simplifican HTTP/2 para evitar desconexiones
