Котатор-ротатор и Грохотатор - QubStore

Котатор-ротатор и Грохотатор

Котатор-ротатор и Грохотатор

В прошлую среду утро в офисе начиналось как обычно: статистика по сети не вызывала ни малейших подозрений, и ничто не предвещало сюрпризов. Но внезапно дверь распахнулась, и на пороге возник взъерошенный Директор с горящими глазами. «Народ, что происходит? У меня почтовый ящик разрывается от жалоб — у всех всё сломалось!» — выпалил он, явно сгущая краски: полного коллапса не случилось, но система и правда захромала.

Виной всему оказалась децентрализованная природа Кошачьих Туннелей: сам Котик остался недосягаем для полной блокировки, однако опорные трекеры, необходимые для нормальной работы, были выведены из строя все до единого. Десятки серверов, разбросанных по разным странам, провайдерам и дата-центрам, оказались недоступны на территории России. Без них новые пользователи не могли подключиться, а у старых скорость заметно просела. Ответственный за опорную сеть, я оказался на передовой этого хаоса и с головой погрузился в сизифов труд: запускаю новый узел — тут же блокируют, следующая попытка — опять мимо.

Так продолжаться не могло, и я сел за создание умного механизма — Котатора-ротатора. Его задача: постоянно следить за состоянием опорных серверов и автоматически отключать те, что чаще всего недоступны клиентам, а взамен запускать свежие. Чем сильнее деградирует ситуация, тем активнее он действует. Уровень этой самой «деградации» в офисе окрестили Грохотатором — благодаря Марианне Николаевне, которая придумала это меткое название. А назвали его так неспроста: значение выводится на большой экран, и если порог превышен, на весь этаж включается сирена такой мощи, что из столовой вылетаешь, забыв про ужин.

По сути, Грохотатор — это сводная клиентская статистика доступности, собранная из технических логов пользователей. Забавно, что руководство не раз советовало нам таких логов не вести, якобы «ради безопасности», но именно они оказались спасительными. Взгляд на ситуацию только глазами серверов вводил в заблуждение: с их стороны всё выглядело идеально — соединение стабильное, аптайм отличный, они честно рапортуют «я жив». Вот только реальные пользователи через тысячи километров сетевых магистралей достучаться до них не могли. Так что опрос «ты жив?» оказался бесполезным: сервер бодро отвечал утвердительно, пока инфраструктура между ним и клиентом уверенно молчала.

Теперь Котатор-ротатор смотрит на мир глазами клиентов: если узел систематически пропадает из их поля зрения, его безжалостно заменяют новым. А в процессе мы сделали неожиданное открытие: пятница вечером — почти волшебное время, когда блокировки будто испаряются, вероятно, противники выключают компьютеры и уходят на выходные. Зато в понедельник к восьми утра они снова возвращаются к работе. Что ж, даже такие мелкие закономерности — уже подспорье. Чудны дела, и хорошо, что у нас теперь есть инструмент, способный адаптироваться к такой нестабильной реальности.

Ссылка на основную публикацию