gRPC o REST en alta concurrencia
Audiocurso de Fundamentos de Arquitectura de Alta Concurrencia
Contenido del curso
Escalabilidad
Herramientas
Seguridad
Protocolos
Negocios y casos de uso
Conclusiones
gRPC o REST en alta concurrencia
Audiocurso de Fundamentos de Arquitectura de Alta Concurrencia
Contenido del curso
gRPC o REST en alta concurrencia
Juan David Cajamarca Acuña
Estudiante¿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:
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.
Juan David Acosta González
EstudiantegRPC: 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.
Rodmy Suarez
EstudianteRevisando 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.
Juan Quevedo Sanchez
EstudiantegRPC y REST son dos arquitecturas para construir servicios web, pero difieren en varios aspectos clave:
Protocolo: gRPC utiliza HTTP/2, lo que permite multiplexión de conexiones y comunicación bidireccional. REST, en cambio, se basa en HTTP/1.1.
Formato de datos: gRPC usa Protocol Buffers (binary), más eficientes en tamaño y velocidad, mientras que REST comúnmente utiliza JSON (textual), que es más legible pero menos eficiente.
Tipos de llamadas: gRPC permite llamadas síncronas y asíncronas, además de streaming, mientras que REST se basa en solicitudes y respuestas.
Ambos tienen sus ventajas, dependiendo del uso específico.
Daniel Eduardo Rojas Pulido
EstudianteMuy buen resumen, gracias
Dany Yerena
EstudianteUsaría api Rest, dado que es lo mas implementado. El proyecto que tengo en mente es un proxys pool open source.
Moisés Berenguer
EstudianteREST 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
Jefred Bedoya
EstudiantegRPC: Eficiencia Binaria
Usa HTTP/2 y Protobuf para reducir drásticamente el tamaño de la carga y permitir multiplexación de peticiones, siendo imbatible para comunicación interna de alta carga.
REST: Flexibilidad Universal
Basado en JSON y texto, es más sencillo de implementar y consumir por navegadores, aunque su overhead es significativamente mayor bajo alta concurrencia.
Jesus Daniel Castro Flores
Estudiante¿Hay cursos en platzi sobre este tema de gRPC?
Daniel Eduardo Rojas Pulido
EstudianteDaniel Eduardo Rojas Pulido
EstudiantegRPC funciona en binario y recomendado para microservicios y APIs internas; REST es recomendado para API públicas.
Javier Alvarez Jiménez
EstudianteHola. ¿Qué papel juegan tecnologías como graphql o los sockets en esta parte de protocolos?
Jose Antonio Aguilar
Estudiante¿Se puede usar GRPC para obtener en tiempo real los datos de apuestas electronicas? ¿Se puede usa GRPC para obtener informaciones del mercado financiero como por ejemplo el valor de un activo?
Natanael Russo
EstudianteSi el equipo se encuentran seniors no tendria sentido usar REST. Directamente implementas gRPC en todas las capas tanto externas para el browser como las internas para la comunicacion sincronica entre servicios.
Arturo Mena
EstudiantegRPC se usa para la interacción con nodos blockchain
MARIA TERESA PANIAGUA RIVERA
EstudianteGracias