node.js - nodejs - Aplicación de correo no deseado de Google App Engine
node js app engine standard (4)
Desafortunadamente, parece que tenemos un error en nuestros documentos. Hoy, de hecho, las aplicaciones se revisan de manera bastante frecuente.
La razón es muchas veces, pero en general cada VM se verá afectada por 3 * 2 comprobaciones de estado diferentes en el intervalo de repetición que especifique (de manera predeterminada, el muy agresivo, 1 segundo). La razón para esto es de 2 tipos de chequeo de salud (autorealer y LB) y 3 de cada uno por razones de disponibilidad.
Dicho esto, actualmente estamos trabajando en una nueva forma de controles de salud que se lanzarán muy pronto y debería solucionar este y otros problemas con el comportamiento de comprobación de salud existente (al menos hacer que los valores predeterminados sean más manejables y brindar más opciones de ajuste a los usuarios) .
¡Manténganse al tanto!
Implementé una aplicación nodej que se ejecuta en el tiempo de ejecución de Google App Engine Flex utilizando la siguiente configuración de app.yaml
:
runtime: nodejs
env: flex
health_check:
enable_health_check: True
check_interval_sec: 20
timeout_sec: 4
unhealthy_threshold: 2
healthy_threshold: 2
De acuerdo con la documentación del control de salud, las comprobaciones de estado deberían llegar al punto final /_ah/health
cada 20 segundos. Sin embargo, noté que mi aplicación recibe spam con estos controles de estado varias veces por segundo, a pesar de que la aplicación responde con 200
códigos de estado:
¿Alguna idea de por qué está pasando esto?
No tengo una solución para el problema de raíz. Pero si el envío de correos no deseados hace que sea imposible usar el registro para su propósito previsto, como es para mí, aquí hay una alternativa:
Habilite los "Filtros de registro avanzados" (la pequeña flecha hacia abajo junto al campo de búsqueda en Stackdriver Logging)
Agregar esto a la consulta de búsqueda
NOT textPayload : (health)
También corro NodeJS en GAE Flex env. Las comprobaciones de estado también estaban enviando spam al registro del servidor. Las siguientes cosas me ayudaron a reducirlas:
- Aunque la documentación de google ( https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml#health_checks ) dice que la configuración de la comprobación de salud no es necesaria, los configuré explícitamente de todos modos para disminuir la frecuencia de las llamadas de control de estado.
- Use el "Filtro de registro avanzado" para quitar el registro de comprobación de estado de la aparición si son demasiado molestos.
- La documentación de Google ( https://cloud.google.com/appengine/docs/flexible/nodejs/how-instances-are-managed ) dice que no es necesario implementar un controlador para el control de la salud, explícitamente lo implementé de todos modos. Agregué un controlador para el punto final "/ _ah / healthcheck" en el servidor express.js, y tengo la ruta en la parte superior del archivo app.js, por lo que las solicitudes de revisión de estado se responden de inmediato. Esto ayudó a reducir algunos ruidos causados por las solicitudes de verificación de estado ingresando en la lógica de la aplicación express.
Use el filtro avanzado y diga "NO _ah / salud".
La eliminación de nginx.request log también ayudará.