Типичный программист | IT, программирование, разработка, ИИ
IT и технологии · 4 сентября 2026 г.
Переключение на резервный регион не доедет до вашего сервиса на Java — 4 сентября 2026 г. в 13:43:22.861
Переключение на резервный регион не доедет до вашего сервиса на Java Инженер разобрал свой ночной инцидент, и повторить его может любой, кто ходит наружу стандартным HTTP-клиентом Java и не трогал настройки. В 3:40 один регион начал сыпать пятисотыми примерно на 8% запросов. Дежурные перевели запись в DNS целиком на здоровый регион. Ошибки не ушли: сорок пять минут часть серверов долбилась в мёртвый регион, притом что dig показывал новый адрес через пару секунд. Причина в самой JVM. Она не смотрит на время жизни вашей DNS-записи: у неё свой кеш и два свойства, о которых почти никто не знает, networkaddress.cache.ttl и negative.ttl. Под SecurityManager удачный ответ кешируется навсегда, без него тридцать секунд, и это тоже константа внутри JVM, а не то, что настроил ваш DNS. Правило приехало из начала двухтысячных, когда так защищались от подмены адресов в апплетах. Проверьте оба свойства у себя, иначе узнаете о них в момент аварии. Рабочие значения: 30 секунд на удачные ответы и 10 на отрицательные. И не через -Dsun.net.inetaddr.ttl, под SecurityManager оно не работает вовсе, на чём авторы инцидента потеряли ещё двадцать минут. #devops #java

