CursosEmpresasBlogLiveConfPrecios

gRPC o REST en alta concurrencia

Clase 14 de 17 • Audiocurso de Fundamentos de Arquitectura de Alta Concurrencia

Clase anteriorSiguiente clase

Contenido del curso

Introducción a alta concurrencia
  • 1
    Sistemas de Arquitectura de Alta Concurrencia y DevOps

    Sistemas de Arquitectura de Alta Concurrencia y DevOps

    05:25
  • 2
    Fundamentos de Arquitectura de Alta Concurrencia

    Fundamentos de Arquitectura de Alta Concurrencia

    06:22
Escalabilidad
  • 3
    Escalamiento Vertical vs Horizontal: Cuándo y Cómo Usarlos

    Escalamiento Vertical vs Horizontal: Cuándo y Cómo Usarlos

    03:36
  • 4
    Diferencias entre servidores Stateless y Stateful en alta concurrencia

    Diferencias entre servidores Stateless y Stateful en alta concurrencia

    03:14
  • 5
    Resiliencia y pruebas en sistemas de alta concurrencia

    Resiliencia y pruebas en sistemas de alta concurrencia

    05:34
  • 6
    Qué métricas usar para escalar

    Qué métricas usar para escalar

    04:58
  • 7
    Manejando el tráfico por países

    Manejando el tráfico por países

    01:58
Herramientas
  • 8
    Linux en servidores y lenguajes para alta concurrencia

    Linux en servidores y lenguajes para alta concurrencia

    04:09
  • 9
    Manejar usuarios en entornos de staging y production

    Manejar usuarios en entornos de staging y production

    02:03
  • 10
    Orquestadores y serverless en de alta concurrencia

    Orquestadores y serverless en de alta concurrencia

    03:33
  • 11
    Motores de bases de datos y caché

    Motores de bases de datos y caché

    03:50
  • 12
    Uso de las CDN en alta concurrencia

    Uso de las CDN en alta concurrencia

    01:46
Seguridad
  • 13
    Cómo manejar ataques DDOS en alta concurrencia

    Cómo manejar ataques DDOS en alta concurrencia

    02:37
Protocolos
  • 14
    gRPC o REST en alta concurrencia

    gRPC o REST en alta concurrencia

    02:43
Negocios y casos de uso
  • 15
    Consideraciones de negocio para alta concurrencia y caso de uso

    Consideraciones de negocio para alta concurrencia y caso de uso

    03:39
  • 16
    Caso de uso: blog con enfoque en serverless

    Caso de uso: blog con enfoque en serverless

    01:45
Conclusiones
  • 17
    Conclusiones

    Conclusiones

    02:07
    Juan David Cajamarca Acuña

    Juan David Cajamarca Acuña

    student•
    hace 4 años

    ¿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.

    Juan David Acosta González

    Juan David Acosta González

    student•
    hace 3 años

    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.

    Rodmy Suarez

    Rodmy Suarez

    student•
    hace 4 años

    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.

    Juan Quevedo

    Juan Quevedo

    student•
    hace 8 meses

    gRPC y REST son dos arquitecturas para construir servicios web, pero difieren en varios aspectos clave:

    1. 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.

    2. 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.

    3. 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

      Daniel Eduardo Rojas Pulido

      student•
      hace un mes

      Muy buen resumen, gracias

    Dany Yerena

    Dany Yerena

    student•
    hace 4 años

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

    Moisés Berenguer

    Moisés Berenguer

    student•
    hace 4 años

    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

    Jesus Daniel Castro Flores

    Jesus Daniel Castro Flores

    student•
    hace 2 años

    ¿Hay cursos en platzi sobre este tema de gRPC?

      Daniel Eduardo Rojas Pulido

      Daniel Eduardo Rojas Pulido

      student•
      hace un mes

      Así es: https://platzi.com/cursos/go-protobuffers-grpc/

    Daniel Eduardo Rojas Pulido

    Daniel Eduardo Rojas Pulido

    student•
    hace un mes

    gRPC funciona en binario y recomendado para microservicios y APIs internas; REST es recomendado para API públicas.

    Javier Alvarez Jiménez

    Javier Alvarez Jiménez

    student•
    hace 3 años

    Hola. ¿Qué papel juegan tecnologías como graphql o los sockets en esta parte de protocolos?

    Jose Antonio Aguilar

    Jose Antonio Aguilar

    student•
    hace 4 años

    ¿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

    Natanael Russo

    student•
    hace 2 años

    Si 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

    Arturo Mena

    student•
    hace 3 años

    gRPC se usa para la interacción con nodos blockchain

    MARIA TERESA PANIAGUA RIVERA

    MARIA TERESA PANIAGUA RIVERA

    student•
    hace 3 años

    Gracias

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads