El aumento en la adopción de las arquitecturas orientadas a eventos, el uso de distintos proveedores cloud, así como la cantidad y heterogeneidad de productos dentro del stack tecnológico de los clientes, ha supuesto un aumento en la diversidad de los casos de uso.

Esto implica que se demanden una serie de necesidades a nivel de integración que no son cubiertas de forma óptima por las tradicionales soluciones basadas en APIs REST. Y aquí es donde surge el uso de gRPC.

Pero, ¿qué es gRPC?

Es una implementación actual de lo que se conoce como llamadas a procedimiento remoto (RPC). Originalmente fue diseñado por Google, de ahí su nombre: g (Google) + RPC, pero actualmente es un proyecto open source mantenido por CNCF.

Se emplea en comunicaciones cliente-servidor por su eficiencia y permite la comunicación de una forma tan sencilla como si se tratara de una comunicación local entre procesos de una misma máquina.

En los últimos años está ganando bastante popularidad como una alternativa para la implementación de servicios backend.

¿Y cómo funciona?

Hablamos de comunicaciones cliente-servidor. Imaginamos que para cada uno de ellos tenemos 3 capas: la aplicación con la propia lógica de negocio, el stub que sirve para serializar y des-serializar el mensaje y, por último, la librería runtime que es la encargada de enviar y recibir los mensajes.

El flujo de comunicación sería el siguiente: la aplicación del cliente genera la llamada con la estructura del mensaje, este mensaje pasa al stub (que lo serializa) y, posteriormente, pasa a la librería runtime, que se encarga de mandar el mensaje al servidor. Dicho servidor recibe el mensaje, lo des-serializa en su stub y el mensaje a su aplicación para ser procesado.

¿Qué diferencia hay entre gRPC y RPC?

gRPC introduce dos mejoras sustanciales:

Todo esto se traduce en una mayor eficiencia. Gracias a HTTP2 podemos hacer uso de multiplexación y la compresión de las cabeceras, y gracias a protocols buffers los mensajes van en binario de forma que se reduce su tamaño.

¿Qué nos aporta gRPC?

Gracias al uso de HTTP2, podemos utilizar la multiplexación, es decir, es posible procesar información en streaming de diferentes formas:

¿Te has quedado con ganas de más?

Si te interesa el universo gRPC, en nuestro blog encontrarás este post donde podrás profundizar mucho más sobre el tema: gRPC, ¿qué es y cómo funciona?

¿Dónde escuchar todos nuestros podcast?

Puedes escucharlos en las principales plataformas de podcast: Ivoox, Spotify, YouTube, Google Podcast, Apple Podcast y Amazon Music.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.