es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

DNS Prefetch dentro de AWS Node.js Lambda

Estoy intentando buscar en caché registros DNS dentro de una función Lambda de node.js. He instrumentado mis solicitudes HTTP (usando Sentry) para mostrar cuánto tiempo tarda el socket en completar la búsqueda DNS y cuánto tiempo tarda en establecer la conexión TCP.

Cuando ejecuto la función localmente en mi máquina, funciona: la solicitud HTTP casi no tarda nada en realizar la búsqueda.

Pero cuando ejecuto la función en AWS Lambda, la búsqueda DNS aún tarda algún tiempo, como si la precarga no hubiera llenado la tabla de búsqueda. Aquí está la implementación:

import dns from 'dns'

export const dnsPrefetch = url => {
  const address = new URL(url).hostname
  dns.lookup(address, { hints: dns.ADDRCONFIG }, () => {})
}

Y luego, en un módulo, podría usarlo de la siguiente manera: dnsPrefetch('https://url.to/graphql')

¿Alguna idea de por qué la precarga DNS no funciona en Lambda?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede haber varias razones por las cuales el DNS prefetch no está funcionando en Lambda.

    En primer lugar, las funciones de Lambda se ejecutan en un entorno aislado y tienen acceso limitado a la red. Por lo tanto, es posible que el DNS prefetch no esté funcionando porque Lambda no permite el acceso de red requerido.

    En segundo lugar, es posible que el DNS prefetch no esté poblando la tabla de búsqueda a tiempo antes de realizar la solicitud http. Esto podría deberse a la forma en que se ejecutan las funciones de Lambda o al tamaño de la tabla de búsqueda.

    Por último, podría haber un problema con la implementación de la función de DNS prefetch en sí. Se recomienda verificar nuevamente la implementación y asegurarse de que esté correctamente configurada para Lambda.

    En general, puede ser necesario realizar más pruebas y depuración para determinar la causa específica del problema.

Comments are closed.