¿Cuáles son las diferencias entre los códigos de estado de capa 7 y los códigos de estado backend en las métricas de ELB?
Los oyentes de HTTP o de HTTPS terminan las conexiones de TCP. En otras palabras, hay dos conexiones de TCP entre el cliente y un servidor backend, una entre el cliente y el balanceador de carga, y la otra entre el balanceador de carga y el servidor backend. La comunicación entre el cliente y el servidor backend se divide en dos partes. Después de recibir una solicitud de HTTP, el balanceador de carga analiza la solicitud y enruta la solicitud analizada al servidor backend para su procesamiento. El servidor backend devuelve una respuesta al balanceador de carga después de recibir la solicitud. A continuación, el balanceador de carga analiza la respuesta y devuelve la respuesta analizada al cliente. Por lo tanto, hay dos tipos de códigos de estado: los códigos de estado backend devueltos por el servidor de backend al balanceador de carga y los códigos de estado de Capa 7 devueltos por el balanceador de carga al cliente.
Puede encontrarse con las siguientes situaciones:
- El servidor backend devuelve un código de estado, y el balanceador de carga transmite directamente el código de estado al cliente. En este caso, el código de estado de Capa 7 es el mismo que el código de estado de backend.
- Si la conexión entre el balanceador de carga y el servidor backend es anormal o se agota, el balanceador de carga devuelve HTTP 502 o 504 al cliente.
- Si la configuración de oyente o el formato o contenido de solicitud es incorrecto, el balanceador de carga devuelve directamente un código de estado HTTP 4xx o 502 al cliente, y no encamina la solicitud al servidor backend. En este caso, solo habrá un código de estado de Capa 7, pero no habrá ningún código de estado de backend.