Finagle Twitter

Páginas: 7 (1505 palabras) Publicado: 14 de mayo de 2012
Finagle: Un sistema válida para los protocolos RPC
Finagle es un protocolo independiente del, sistema asincrónico RPC para la JVM que hace que sea fácil de construir sólidas clientes y servidores en Java, Scala, o cualquier otro lenguaje de JVM-hosted.
Representación de incluso la más simple página web de twitter.com requiere la colaboración de decenas de servicios de red que hablan diferentesprotocolos. Por ejemplo, con el fin de hacer que la página de inicio, las cuestiones de aplicación solicita al Servicio Social Graph, Memcached, bases de datos, y muchos otros servicios de red.Cada uno de estos habla un protocolo diferente: Thrift, Memcached, MySQL, y así sucesivamente. Además, muchos de estos servicios hablar con otros servicios - ambos son servidores y clientes. El ServicioSocial Graph, por ejemplo, proporciona una interfaz de Ahorro, pero consume de un grupo de bases de datos MySQL.
En tales sistemas, una causa frecuente de apagones es escasa interacción entre los componentes de la presencia de fallas, fallas comunes son los anfitriones se estrelló y la varianza de latencia extrema. Estas fallas pueden en cascada a través del sistema haciendo que las colas de trabajopara realizar copias de seguridad, las conexiones TCP a batir, o descriptores de memoria y el archivo a agotarse. En el peor de los casos, el usuario ve una ballena Fail.
LOS DESAFÍOS DE LA CONSTRUCCIÓN DE UN SISTEMA ESTABLE DISTRIBUIDO
Sofisticados servidores de red y los clientes tienen muchas partes móviles: Los detectores de fallas, balanceadores de carga, estrategias de conmutación porerror, y así sucesivamente. Estas partes deben trabajar juntos en un delicado equilibrio para ser resistentes a las variedades de fracaso que se producen en un sistema de producción de gran tamaño.
Esto se hace especialmente difícil por las muchas implementaciones diferentes de detectores de fallas, balanceadores de carga-, y así sucesivamente, por protocolo. Por ejemplo, la aplicación de lasestrategias de presión de fondo para Ahorro difieren de los de HTTP. Asegurar que los sistemas heterogéneos convergen a un estado estable durante un incidente es un gran desafío.
NUESTRO ENFOQUE
Es el desarrollo de una sola implementación de los componentes básicos de servidores de red y los clientes que podrían ser utilizados para todos nuestros protocolos.Finagle es un protocolo agnóstico, llamadaasincrónica a procedimiento remoto (RPC) para el sistema de la máquina virtual Java (JVM) que hace que sea fácil de construir sólidas clientes y servidores en Java, Scala, o cualquier otro lenguaje de JVM-hosted.Finagle es compatible con una amplia variedad de protocolos orientados a RPC request/response- y muchas clases de protocolos de streaming.
Finagle proporciona una implementación robusta de:* grupos de conexión, con regulación para evitar la conexión TCP rotación;
* detectores de fallas, para identificar a los ejércitos lentos o se haya estrellado;
* estrategias de conmutación por error, para dirigir el tráfico fuera de los ejércitos no saludables;
* equilibradores de carga, incluidos los "menos conexiones" y otras estrategias, y
* presión de back-técnicas, paradefender a los servidores frente a los clientes abusivos y dogpiling.
Además, Finagle hace más fácil para crear e implementar un servicio que
* publica estadísticas estándar, registros e informes de excepción;
* apoya distribuido seguimiento (al estilo de Dapper) a través de protocolos;
* opcionalmente utiliza Zookeeper para la gestión de las agrupaciones, y
* apoya lasestrategias comunes sharding.
Creemos que nuestro trabajo ha dado sus frutos - que ahora se puede escribir y desplegar un servicio de red con mucha más facilidad y seguridad.
FINAGLE EN TWITTER
Hoy en día, Finagle se despliega en la producción de Twitter en varios front-y back-end, incluyendo sistemas que sirven a nuestra dirección de cadenas y el proxy HTTP.Planeamos continuar con la implementación de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Twitter
  • Twitter
  • Twitter
  • twitter
  • Twitter
  • TWITTER
  • twitter
  • Twitter

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS