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 6

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

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.

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’s de integración Rest.

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

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

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