Прекратите удалять единственный чат, прежде чем начать его замену

FixMediaService
Порезанный
4 сентября 2026 г. в 19:50 UTC
Автор
Kamo
Обещать
aefbb92

Деплойты заменили единственный блок каждой службы, в котором не было ничего, чтобы поймать запросы. Полёт. Три настройки, применяемые по всему флоту: Престоп спит 10 секунд до того, как процесс видит ЗАГРЯЗЬ. Kubernetes удаляет стручку из своего EndpointSlice и сигнализирует об этом в один и тот же момент, и Traefik только узнает об удалении. смотреть — так что на мгновение он продолжает отправлять новые запросы в капсулу, которая уже началась. Отказать им. Этот разрыв - то, откуда пришли 502-е на чистом развертывании. - терминацияGracePeriodSeconds поднят над предостановочным сном, поэтому крючок сам по себе не Взломанный, и работа в полете имеет место закончить. Это потолок, а не ожидание: пустой контейнер Он выходит примерно через секунду. - MinReadySeconds 15, так что стручка, которая проходит готовность один раз, а затем падает, не может отойти здоровую стручку он заменил после того, как CI уже назвал выкат хорошей. ТопологияОграничения добавляются готовыми ко второй реплике; они инертны при одной. Проверено из живого кластера: 63 из 65 развертываний в «камо» провели одну реплику, 1 из 65 имел Это был престоп-хук, и ни у одного из них не было minReadySeconds. MediaService поставляется с «стратегией: воссоздать» в одной реплике с 5-кратным льготным периодом, поэтому каждый развернуть удаленный чат, вложения, чат и уведомления WebSockets, наличие и толкать, и только потом началась замена — чьи собственные бревна поставили его загрузку на 59 секунд. Это Это окно ~ 65s, в котором служба не существовала, и загрузка на провод была разорвана. Отметка 5. Один из участников потерял документ, загруженный именно на это. Здесь нет PersistentVolumeClaim и никогда не было — тома ConfigMap, два секрета и два пустых Дира, так что ничего не требовалось воссоздать. Она осталась. RollingUpdate с maxUnavailable 0/maxSurge 1; Grace 660s для соответствия камо-внутреннему, который несет те же 3 ГБ вложения; **************************** 5s -> 600s, который был лимит фактического сокращения загрузки; время развертывания CI увеличено до 900, чтобы сидеть выше изящества. реплики остаются на уровне 1: MediaService еще не может правильно обслуживать два контейнера. Брокер STOMP является In-heap and its per-conversation JetStream Consumer - эксклюзивное долговечное устройство, названное в честь сеанс GUID, так что второй контейнер молча не получал ничего для разговоров. связан. Это фиксируется отдельно, до того, как количество реплики перемещается.

Все изменения

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены