Цена многорежимности
Nov. 18th, 2016 03:02 amНа днях анализировал, во сколько обходится конфигурабельность “на лету”, применительно к большой распределённой системе. Прикидывал, во что обойдётся с инженерной точки зрения поддерживать многорежимность работы. В моём случае – перераспределение сервисов по физическим машинам в зависимости от нескольких параметров входящего трафика.
Получилось, что “перевозить” с одних узлов на другие имеет смысл только два сервиса из 12, зато это такие сервисы, которые обслуживают основной поток запросов.
Потом я стал это всё рассматривать сценарием по времени: что где гасится, что запускается, что произойдёт если ошибки по пути и куда должны в это время идти запросы.
У меня получился интересный вывод: на время переконфигурации мне надо иметь в сети дополнительный довольно мощный узел, принимающий на себя существенную часть нагрузки. На время переконфигурации в системе образуется центр “напряжения”, которое со временем “рассасывается” по другим узлам.
Фиговей всего, что этот узел надо поддерживать рабочим всё время. Если узел включать только перед сменой конфигурации сети, время, необходимое на синхронизацию данных, делает всю затею бесполезной. “Приёмистость” конструкции получается многие минуты – а нужны единицы секунд.
То-есть, чтобы обеспечить многорежимность, мне придётся вводить в систему существенный балласт, причём с экзотическими характеристиками (в смысле, сильно отличающийся от других узлов).
Идею я выкинул, потому что вспомнил пример из реального мира.
Так выглядят Ту-160 и Rockwell B-1B, тяжёлые стратегические ракетоносцы с изменяемой геометрией крыла:
Отличный пример конвергентной эволюции, как снаружи – так и внутри.
Дело в том, что отклоняемые консоли крыла крепятся к остальной конструкции по сути в двух точках. Это означает сосредоточение огромных напряжений самого разного спектра в очень ограниченном объёме. Более того, эти две точки должны быть жёстко связаны – а они существенно разведены в пространстве (10 метров почти).
В обычном самолёте, с неизменяемой геометрией, напряжения, создаваемые крылом, принимают центроплан, набор фюзеляжа и обшивка. При изменяемой геометрии все нагрузки принимает центроплан.
Вот как выглядит центроплан в этих бомберах (подкрашен синим):
В обоих случаях это огромная многотонная чрезвычайно сложная и дорогая в производстве цельносварная титановая балка-короб. Её масса примерно 10-15% от пустого бомбера, и она – балласт по большей части.
В общем, я решил не выделываться с многорежимностью и просто держать некоторый запас прочности по всей конструкции целиком. Получается сильно проще и дешевле.

