Remote Procedure Call (RPC): protocolo que oculta la implementación en el backend de la petición que hizo un cliente, aunque el cliente sepa como hacer la petición y pueda invocarla como si fuese suya.
gRPC: framework creado por Google para trabajar RPC con más eficiencia y alto rendimiento.
- El transporte de datos funciona con HTTP2.
- Permite crear multiplexación a la hora de enviar mensajes: más mensajes en la conexión TCP de manera simultanea.
- Permite serializar datos.
- Usa los protobuffers como estructura para intercambio de datos.
- Permite serializar y deserializar datos más rápido.
Métodos de gRPC
Unary: similar a como funciona REST. Envía una petición al servidor, y el servidor la responde.
Streaming: permite constante envío de data en un canal.
- Del lado del cliente: el cliente envía muchas peticiones, y el servidor responde una sola vez.
- Del lado del servidor: el cliente realiza una sola petición, y el servidor responde enviando la data en partes.
- Bidireccional: cliente y servidor deciden ambos comunicarse por streaming de data.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?