Finagle, el balanceador que le ayuda a Twitter escrito en Scala

Es imposible explicar la necesidad de un balanceador de carga, o la de implementar tecnologías avanzadas, salvo que pertenezcas a empresas como twitter que tiene un alto numero de usuarios y que además su servicio es utilizado concurrentemente.

El pensar que ellos en promedio tienen 500 millones de twits te hace pensar que no tienen un solo servidor, y además la aplicacion debe ser agnostica al nombre de este, en muchos casos le exige a su departamento de ingenieria la ocurrencia de utilizar nuevas tecnologías, y si ya no existen, inventarlas.

Es asi como twitter utiliza una tecnología llamada Finagle, que es un RPC implementado sobre JVM que permite crecer y escalarse a mnultiples servidores.

Esta escrito en Scala (por lo tanto en Java… ya hablare de Scala mas adelante) y lo que hace es utilizar la infraestructura de forma de distribuir la carga en los servidores que estan activos y asi procesar la información.

Su arquitectura se espresa a traves de este diagrama:

Finagle

Publicado en Arquitectura de Software, Desarrollo, Twitter