gRPC lleva siendo el framework usado internamente por Google para conectar micro-servicios. Mejorado durante el tiempo llegó a una firme evolución que ha unido a este framework RPC (Remote Procedure Call) con el reciente HTTP/2. Adicionalmente, Google ha decidido lanzarlo como Open Source.
¿qué vuelve tan interesante gRPC?
El núcleo principal es el rendimiento, hablamos en términos mensurables de CPU y de ancho de banda, mejora de latencia al difundir datos de forma masiva a distintos datacenters, mayor efectividad en comunicaciones con dispositivos móviles (batería, disponibilidad, …), tiempo real, desarrollo de APIs más responsives y escalables.
Construido sobre HTTP/2 aporta amplitudes nativas de bidirecionalidad, control de flujo de datos, compresión de cabeceras, múltiple de peticiones sobre una única conexión TCP. No es una re-escritura del actual HTTP/1.1 sino que los status code o la semántica permanece.
Librerías de serialización y como implementar
gRPC viene con librerías para diferentes lenguajes para empezar a construir complementaciones: C, C++, C#, Go, Java, Node.js, Objective-C, PHP, Python, Ruby. Entre todas ellas Java es la que se encuentra más madura actualmente, el resto se encuentran en fase beta.
Otro aporte significativo es la evolución de la serialización de objetos con Proto3, la nueva versión de Protocol Buf que sintetiza la sintaxis y con soporte para más lenguajes y JSON encodings. gRPC puede ser extendido para transigir más formatos.
Todo el código está disponible en GitHub, tanto los primeros ejemplos y la documentación de gRPC.
Fuente: http://www.genbetadev.com/
Deja un comentario