QUIC: el futuro de las comunicaciones en red

Los servidores de producción más considerables que funcionan con 4D aceptan más de mil conexiones simultáneas, y este número sigue creciendo. En consecuencia, el rendimiento se convierte en un objetivo cada vez más importante de nuestros equipos. El protocolo QUIC, utilizado por la nueva versión del estándar HTTP, ha sido construido específicamente para aumentar la velocidad y la fiabilidad. Como siempre estamos buscando tecnologías interesantes, estamos trabajando para sustituir nuestro protocolo de red de bajo nivel por el protocolo QUIC.

Para la v20, puede cambiar a esta capa de red y verificar si mejora su rendimiento. Aún está en fase de pruebas beta, ya que necesitamos su opinión antes de utilizarla como nuestra capa de red por defecto. Por lo tanto, sólo podrá utilizarla en versiones beta de 4D.

QUIC, siglas de Quick UDP Internet Connections, fue lanzado por Google hace una década. Fue estandarizado oficialmente por el IETF en mayo de 2021 y adoptado como el protocolo para las conexiones HTTP/3.

 

A lo largo de los años, 4D ha utilizado varias capas de red diferentes. La primera, que generalmente llamamos «Legacy», utilizaba demasiada CPU cuando estaba inactiva. La capa ServerNet solucionó este pequeño problema y aportó funcionalidades como el soporte para el modo reposo del ordenador, pero sigue pidiendo una conexión constante, lo que no es ideal en redes inestables. Con estas dos capas, hemos tocado techo; no hay mucho espacio para mejorar.

A diferencia de las capas anteriores que trabajan sobre TCP, QUIC utiliza el protocolo UDP para transportar sus paquetes. Permite una recuperación más rápida en caso de pérdida de paquetes, congestión y diversos problemas de red. Y nuestras pruebas preliminares muestran que QUIC cumple sus promesas: cuando el ping es alto, QUIC consigue ser más rápido que nuestras otras capas de red, y en caso de pérdida de paquetes, la ganancia de velocidad es increíble. Nos ha sorprendido positivamente la estabilidad general del protocolo y nuestro objetivo es hacer de esta capa de red la más estable que jamás haya conocido.

Durante la prueba beta de la v20, puede activar esta capa a través de la Página Compatibilidad de los Parámetros de la base. No olvide que, como QUIC funciona sobre UDP, necesita que sus routers y firewalls acepten conexiones UDP. Un segundo punto importante es que tanto el servidor de aplicaciones como el servidor de base de datos ahora escucharán en el mismo puerto (19813 por defecto), gracias a la forma en que QUIC agrupa todas las comunicaciones de red en un socket en lugar de abrir un socket por proceso como antes. Además, las comunicaciones QUIC están necesariamente encriptadas con TLS. No dude en probarlo en su infraestructura. Utilizaremos sus comentarios para mejorarlo.

Mientras tanto, si tiene preguntas o comentarios, no dude en llevarlos a los foros 4D.

Nicolas Brachfogel
• Propietario de producto y Desarrollador Senior - Nicolas Brachfogel se unió a 4D en 2017 como Senior Developer (4D Server y networking). Como Product Owner para gestionar el lanzamiento de Apple Silicon, está a cargo de escribir historias de usuario y traducirlas en especificaciones funcionales, así como asegurarse de que las implementaciones de las funcionalidades satisfagan las necesidades del cliente. Diplomado por el Instituto Superior de Informática Aplicada (INSIA), Nicolas comenzó su carrera como desarrollador de software en 2001. Tras varios años codificando en Java y C++, pasó a especializarse en el desarrollo cliente-servidor para empresas de videojuegos. Como desarrollador/arquitecto de servidores, trabajó con éxito en las arquitecturas de servidores de muchos juegos (Dofus Arena, Drakerz, Trivial Pursuit Go!).