Volver al blog
Ingenieria

Por que reescribimos nuestro proxy en Rust

IP
Ivan Petrov
Staff Engineer
30 abr 202611 min

El proxy es la pieza por la que pasa absolutamente todo el trafico de la plataforma. Cuando algo de su rendimiento mejora un 5%, ese 5% se multiplica por miles de millones de peticiones al dia.

Nuestra implementacion original en Go nos sirvio muy bien durante anos. Pero a medida que crecimos, el garbage collector empezo a introducir picos de latencia en el percentil 99 que eran dificiles de domar.

Migrar a Rust nos dio control deterministico sobre la memoria. Sin GC, sin pausas. La latencia p99 se volvio plana como una mesa, y el consumo de memoria por instancia cayo un 40%.

No fue gratis. El equipo invirtio tres meses en aprender los patrones idiomaticos de async Rust y en construir las abstracciones internas que nos faltaban. Pero hoy desplegamos cambios al proxy sin contener la respiracion.

La leccion: elige la herramienta por el problema, no por la moda. Para una capa de infraestructura critica en latencia, el modelo de Rust valio cada hora invertida.

Sigue leyendo