Deja de borrar la única cápsula de chat antes de empezar su reemplazo

FixMediaService
Se descapó
4 de septiembre de 2026 a las 19:50 UTC
Autor
Kamo
Compromit
aefbb92

Los despliegues sustituyeron a la única cápsula de cada servicio sin nada para atrapar las solicitudes en vuelo. Tres ajustes, aplicados en toda la flota: - preStop duerme 10s antes de que el proceso vea SIGTERM. Kubernetes elimina la cápsula de su EndpointSlice y señaliza al mismo momento, y Traefik sólo se entera de la eliminación por ver, por lo que por un momento sigue enviando nuevas solicitudes en una cápsula que ya ha comenzado - negándose. Esa brecha es de donde vinieron los 502 en un despliegue por lo demás limpio. - terminación GracePeriodSeconds levantado por encima del preStop duerme, por lo que el gancho no es en sí mismo SIGKILLed, y en vuelo el trabajo tiene espacio para terminar. Es un techo, no una espera: una vaina ociosa todavía sale en un segundo. - minListoSegundos 15, por lo que una vaina que pasa de preparación una vez y luego cae sobre no puede retirarse el vaina saludable que sustituyó después de que CI ya haya llamado al despliegue bueno. topologíaSpreadConstraints se añaden listos para una segunda réplica; son inertes en uno. Auditoría del grupo en vivo: 63 de los 65 despliegues en el caso de Kamo, realizaron una sola réplica, 1 de 65 un gancho pre-parada, y ninguno había minReadySeconds. MediaService enviado con la estrategia: Recrear en una réplica con un período de gracia de 5s, así que cada desplegar eliminado el chat de servicio de vaina, archivos adjuntos, el chat y notificación WebSockets, presencia y empujar, y sólo entonces comenzó el reemplazo de los propios troncos puso su bota en 59 segundos. Eso es una ventana de los 65 años en la que el servicio no existía, y una subida en el cable se cortó en el 5s marca. Un miembro perdió un documento para subir exactamente a esto. No hay un problema persistenteClaim aquí y nunca fue el volumen son un ConfigMap, dos Secretos y dos vacíasDirs, así que nada se requirió Recrear. Estaba por aquí. RollingActualización con maxUnavailable 0 / maxSurge 1; gracia 660s para que coinfájate con kamo-internal, que lleva el mismo 3 accesorios GiB; **************** 5s - 600s, que era el límite en realidad cortando subidas; el tiempo de implementación de CI se elevó a 900s para sentarse por encima de la gracia. Las réplicas se quedan en 1: MediaService no puede servir dos vainas correctamente todavía. Su corredor STOMP es en-heap y su consumidor per-conversación JetStream es un duradero exclusivo llamado así por el GUID de sesión, para que una segunda cápsula no recibiría silenciosamente nada para las conversaciones la primera cápsula atado. Eso se fija por separado, antes de que el conteo de réplicas se mueva.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios