
gRPC
Protocol Buffers, servicios gRPC, streaming, interceptors, manejo de errores, metadata
1¿Qué es gRPC?
¿Qué es gRPC?
Respuesta
gRPC es un framework RPC (Remote Procedure Call) de código abierto desarrollado por Google que usa HTTP/2 como protocolo de transporte y Protocol Buffers como formato de serialización por defecto. A diferencia de REST que usa JSON y HTTP/1.1, gRPC ofrece mejor rendimiento gracias al formato binario de Protocol Buffers y a las funcionalidades avanzadas de HTTP/2 (multiplexing, compresión de headers, server push). gRPC se usa ampliamente para la comunicación entre microservicios porque soporta nativamente el streaming bidireccional, la generación de código cliente/servidor y el uso de tipos fuertemente tipados.
2¿Cuál es el rol principal de Protocol Buffers en gRPC?
¿Cuál es el rol principal de Protocol Buffers en gRPC?
Respuesta
Protocol Buffers (protobuf) es el lenguaje de definición de interfaz (IDL) y el formato de serialización binaria usado por defecto en gRPC. Permite definir la estructura de los mensajes y servicios en archivos .proto, que luego se compilan para generar automáticamente código cliente y servidor en diferentes lenguajes. El formato binario de protobuf es de 3 a 10 veces más compacto que JSON y ofrece un rendimiento de serialización/deserialización notablemente superior (hasta 20 veces más rápido). Esto hace que gRPC sea particularmente adecuado para comunicaciones de alta frecuencia entre microservicios.
3¿Cuál es la diferencia entre una llamada gRPC Unary y una llamada Server Streaming?
¿Cuál es la diferencia entre una llamada gRPC Unary y una llamada Server Streaming?
Respuesta
Una llamada Unary es el tipo de llamada gRPC más simple: el cliente envía una sola solicitud y recibe una sola respuesta, similar a una solicitud HTTP REST clásica. Una llamada Server Streaming permite al cliente enviar una sola solicitud pero recibir un flujo (stream) de varias respuestas del servidor. Por ejemplo, una API de notificaciones puede usar Server Streaming para enviar varias actualizaciones al cliente sin que este tenga que hacer polling. Esto reduce la latencia y la carga de red en comparación con llamadas Unary repetidas.
¿Qué paquete de Go se usa para crear un servidor gRPC?
¿Cómo definir un servicio gRPC en un archivo .proto?
+19 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis