NOTA: Algunos aspectos de este producto están en versión Beta. Las opciones de instalación híbrida son GA. Para unirte al programa Beta, comunícate con tu representante de Apigee.

Usar WebSockets

En este tema, se describe cómo usar WebSockets con Apigee Hybrid.

Introducción

Existen muchas situaciones en las que las interacciones web deben suceder en tiempo real, como videojuegos, comunicaciones, transacciones financieras y otras actividades de alta capacidad de procesamiento.

WebSocket es un protocolo que proporciona un canal de comunicaciones dúplex completo entre un cliente web y un servidor web a través de una sola conexión TCP. El protocolo WebSocket usa el protocolo HTTP para establecer la conexión entre el cliente y el servidor. Una vez establecido, el cliente y el servidor usan el protocolo WebSocket para enviar y recibir datos.

W3C mantiene las especificaciones de WebSockets y el protocolo.

Compatibilidad con WebSockets en Apigee Hybrid

En Apigee Hybrid, los hosts virtuales definen los dominios en los que se exponen los proxies de API. Los hosts virtuales híbridos admiten los protocolos HTTP y WS de forma nativa. No es necesario crear un host virtual especial ni ninguna configuración especial para usar WebSockets. En cambio, depende del cliente solicitar una actualización del protocolo de HTTP a WS si incluye el encabezado de solicitud Upgrade. Una solicitud de actualización que se realiza a un extremo del proxy de API muestra una respuesta 101 Switching Protocols. Las solicitudes y respuestas adicionales se realizan bidireccionalmente en la conexión abierta de WebSockets, hasta que se cierra.

Compatibilidad de políticas

Con una conexión de WebSockets, solo puedes usar las políticas Verificar clave de API y OAuthV2 en tu proxy de API. Se ignoran todas las demás políticas.

Revoca la conexión

La conexión de WebSockets se cierra en los siguientes casos:

  • El extremo del proxy recibe una solicitud sin una clave de API o un token de OAuth.
  • El extremo del proxy recibe una solicitud con una clave de API vencida o no válida o un token de OAuth.
  • Se agota el tiempo de espera de la conexión de WebSockets.

Usa el seguimiento y las estadísticas

En la herramienta de Trace, en cada conexión de WebSockets, aparecerá una solicitud con un 101 Status, como se muestra en la siguiente captura de pantalla:

En el panel de estadísticas híbridas, verás el tráfico contabilizado para cada sesión de WebSockets. No se muestra en el panel el tráfico de ida y vuelta que se produce durante la sesión.

Ejemplo de la aplicación de WebSockets

Para obtener más información, puedes consultar una aplicación websocket-sample en funcionamiento en GitHub. En el ejemplo se muestra cómo llamar a un proxy de API mediante una conexión de WebSockets. El proxy llama a una aplicación de destino de backend simple que se implementa en tu clúster de Kubernetes.