Cloud Endpoints para gRPC

gRPC es un marco de trabajo de RPC universal de código abierto y alto rendimiento desarrollado por Google. En gRPC, una aplicación cliente puede llamar de forma directa a métodos en una aplicación de servidor en otra máquina como si fuera un objeto local, lo cual facilita la creación de aplicaciones y servicios distribuidos.

Uno de los beneficios principales de usar gRPC es la documentación; puedes usar tu configuración de servicio y los archivos de definición de la interfaz API a fin de generar documentación de referencia para tu API. Consulta Descripción general del portal para desarrolladores si deseas obtener más información.

Administración de API

Endpoints trabaja con el proxy de servicio extensible (ESP) para proporcionar administración de API.

Con Endpoints para gRPC, puedes usar las capacidades de administración de API de Endpoints con el fin de agregar una Consola de API, y características de supervisión, hosting, seguimiento, autenticación y más a tus servicios de gRPC. Además, una vez que especificas reglas de asignación especiales, ESP traduce JSON RESTful en HTTP a solicitudes de gRPC. Esto significa que puedes implementar un servidor de gRPC administrado por Endpoints y llamar a su API con un cliente gRPC o JSON/HTTP, lo que te da mucha más flexibilidad y facilidad para la integración con otros sistemas.

Servicio de Endpoints de gRPC

Puedes crear servicios de gRPC para Endpoints en cualquier lenguaje compatible con gRPC. Puedes obtener más información acerca de gRPC, como guías de inicio rápido y también instructivos para crear servidores y clientes, en el sitio de gRPC.

Plataformas de procesamiento compatibles

ESP es un proyecto de código abierto al que puedes acceder por los siguientes medios:

  • Un contenedor en Google Container Registry. Consulta las notas de la versión de ESP para ver la imagen de Docker actual.
  • Un código fuente en GitHub. Para obtener detalles sobre cómo compilar el ESP, consulta el archivo ESP README.

Puedes ejecutar el contenedor de ESP en cualquiera de estas opciones:

Consulta Cómo implementar el backend de la API para obtener más información sobre cómo implementar la API y el ESP en las plataformas de procesamiento de GCP.

Definición y configuración de servicios

gRPC está basado en la idea de definir un servicio para el que se especifican los métodos que pueden llamarse de forma remota con sus parámetros y tipos de resultados. De forma predeterminada, gRPC usa búferes de protocolo, como el Lenguaje de Definición de Interfaz (IDL), para describir la interfaz del servicio y también la estructura de los mensajes de carga útil.

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

Para usar gRPC con Endpoints, debes proporcionar una configuración del servicio junto con la definición del servicio. Esto configura el comportamiento del entorno de ejecución de tu servicio, incluso la autenticación, las API incluidas en el servicio, las asignaciones de solicitudes HTTP a métodos gRPC y configuraciones especiales de Cloud Endpoints.

Transcodificación

Endpoints proporciona una traducción de protocolo a tus servicios de gRPC, lo que permite a los clientes usar HTTP/JSON para comunicarse con un servicio de gRPC mediante el proxy de servicio extensible.

El caso práctico más común es permitir a los clientes de navegador hablar con los servidores de gRPC sin asistencia especial de parte de bibliotecas de servidores de gRPC. Endpoints proporciona un mecanismo para asignar solicitudes de HTTP a métodos de gRPC como parte de la configuración del servicio.

Puedes obtener más información sobre este tema en Transcodificación de HTTP/JSON a gRPC.

Limitaciones

Las siguientes características de gRPC aún no son compatibles con Endpoints:

  • Compresión de carga útil
  • Todos los IDL aparte de los búferes de protocolo

Endpoints no admite entornos de App Engine para servicios de gRPC; solo se admiten GKE y Compute Engine.

¿Qué sigue?

  • Completa uno de nuestros instructivos para poner en marcha un servicio de gRPC simple con Cloud Endpoints en el entorno que elijas.
  • Obtén información acerca de cómo configurar un servicio de gRPC para Cloud Endpoints.
  • Explora las muestras. La muestra de getting-started-grpc está disponible en GitHub en estos lenguajes:
  • La muestra de librerías está disponible en estos lenguajes:
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Cloud Endpoints con gRPC
Si necesitas ayuda, visita nuestra página de asistencia.