No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

gRPC o REST en alta concurrencia

14/17
Recursos

Aportes 9

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Protocolos:

  • Rest: para APIs. Json
  • gRPC: Formato binario. Serializaci贸n.

El gRPC es recomendado para su uso en microservicios o para integraciones de APIs internas gracias a que ofrece una mayor escalabilidad y una optimizada respuesta por su baja latencia en el env铆o de mensajes por el formato binario de HTTP/2.

Por otro lado, REST es recomendado para integraciones con clientes y APIs p煤blicas, muy f谩cil de usar y con unas restricciones de protocolo sencillas de implementar, adem谩s JSON es un lenguaje f谩cilmente interpretable por el humano. Tambi茅n posee una gran comunidad detr谩s que alimenta la documentaci贸n y las buenas pr谩cticas del m茅todo de comunicaci贸n. Como desventaja hay que recalcar que por su formato es m谩s pesado que gRPC (pero para los casos de uso donde es recomendado no es un gran factor a tener en cuenta).

https://www2.deloitte.com/es/es/blog/todo-tecnologia/2021/grpc-vs-rest-api.html

驴Qu茅 protocolos se utilizan en el camino de la alta concurrencia?

El protocolo de APIs m谩s utilizado en la actualidad, es REST; es bastante viejo, fue creado en el a帽o 2000 y se caracteriza por su simplicidad, f谩cil curva de aprendizaje y su m煤ltiple formatos soportados (XML, JSON, HTML, texto plano, etc.).

gRPC es un sistema de llamado de procedimiento remoto, implementado por Google. Los RPCs funcionan de la siguiente manera:

  • Un cliente invoca un procedimiento remoto, serializa los par谩metros y env铆a el mensaje al servidor.
  • El servidor, al recibir el mensaje, serializa el contenido, ejecuta el procedimiento y env铆a al cliente el resultado.

Una de las principales diferencias entre gRPC y REST es que gRPC usa como lenguaje de definici贸n Protobuf. Este lenguaje es de formato binario y no es legible por humanos, pero permite la serializaci贸n y deserializaci贸n de datos estructurados; el desarrollador decide c贸mo definir los datos y despu茅s debe compilarlos, dando como resultado un archivo con una clase por cada mensaje que hayamos definido.

REST soporta varios lenguajes de definici贸n, aunque sin duda el m谩s utilizado es JSON, que es bastante f谩cil de leer por un humano, pero hace que el tama帽o del mensaje sea mayor, usando m谩s ancho de banda.

La otra gran diferencia entre gRPC y REST es que gRPC usa el protocolo HTTP2, que es m谩s nuevo y liviano, manteniendo las premisas y paradigmas b谩sicos de HTTP, pero eliminando las partes opcionales de HTTP1.1. HTTP2 es binario y tiene la capacidad admitir muchas transmisiones bidireccionales en una misma conexi贸n TCP.

gRPC es recomendado para su uso en microservicios o para integraciones de APIs internas, gracias a que ofrece una mayor estabilidad y una optimizada respuesta por su baja latencia en el env铆o de mensajes por el formato binario de HTTP2.

Por otro lado, REST es recomendado para integraciones con clientes y APIs p煤blicas por su facilidad de uso e implementaci贸n.

Lectura importante para ententer mejor GRPC aqui鈥
https://www.ionos.es/digitalguide/servidores/know-how/que-es-grpc/

Revisando en internet, los cuadros que muestran de comparativas entre los protocolos si el objetivo es perfomance, gRPC es de lejos la mejor opci贸n para poder implementar la integraci贸n con nuestras aplicaciones.

Vemos la otra cara de la moneda, desde el punto de vista de facilidad de integraci贸n encontramos ampliamente difundidas API鈥檚 de integraci贸n Rest.

gRPC: baja latencia, formato binario, usa HTTP2, se puede usar para arquitecturas con microservicios. REST fue creado en el 2000 y es el protocolo m谩s usado, soporta: XML, JSON, y grafos, es m谩s sencillo de implementar y m谩s legible, sin embargo para casos de optimizaci贸n espec铆ficos es mejor usar gRPC.

Usar铆a api Rest, dado que es lo mas implementado.
El proyecto que tengo en mente es un proxys pool open source.

REST Es el que siempre he usado y al cual estoy acostumbrado, por su facilidad tanto en el aspecto programado como en el escalamiento a nivel de infraestructura

gRPC se usa para la interacci贸n con nodos blockchain

Gracias