2017-09-18 1 views
0

Dans l'annonce ALB il y avait une mention de TCP et websockets, est-ce que WS sont supportés mais par la configuration http sur les écouteurs ELB?AWS Application Load Balancer -

Je suis curieux de savoir comment AWS ALB prend en charge les sockets Web si les protocoles pris en charge sont HTTP et HTTPS uniquement?

Répondre

1

Ce nouvel équilibreur de charge, qui prend également en charge le protocole WebSocket et HTTP/2, fonctionne sur la couche d'application et fournit une prise en charge du routage basée sur le contenu.

https://aws.amazon.com/about-aws/whats-new/2016/08/announcing-application-load-balancer-for-elastic-load-balancing/

Le protocole WebSocket a été conçu pour être négocié via une connexion HTTP (si proprement parler il pourrait être exécuté sur d'autres moyens de transport).

Le protocole WebSocket est conçu pour remplacer les technologies de communication bidirectionnelle existantes qui utilisent HTTP comme couche de transport au profit de l'infrastructure existante

https://tools.ietf.org/html/rfc6455

Cependant, cela signifie que l'infrastructure doit prendre en charge la extensions HTTP que les Websockets nécessitent afin de négocier et d'exploiter.

ALB a introduit le support pour ces extensions. Les ELB Classic Load Balancers ne prenaient pas en charge les extensions, donc la seule façon d'implémenter les Websockets dans ELB Classic était de désactiver les fonctionnalités HTTP et de lancer l'équilibreur dans un mode TCP plus transparent, avec des instances derrière l'équilibreur qui géraient toutes les extensions. les interactions websocket.