⚡️ Две зоны или три: почему «три везде» — это не ответ, а рефлекс
Марк Руссинович с коллегами разобрал самый частый рефлекс в проектировании Azure: на вопрос, сколько availability zones нужно проду, большинство архитекторов отвечает «три». Позиция авторов: это правило большого пальца вместо решения, и стоит оно денег, ёмкости и лишней сложности.
Правильный вопрос не «сколько зон», а «сколько зон нужно каждому компоненту, чтобы пережить потерю одной». Решение принимается покомпонентно, по трём критериям: выдержит ли оставшаяся зона нужное состояние после отказа, зависит ли корректность от третьего домена отказа, и как распределяется резерв ёмкости. Stateless-компоненты и активно-пассивные пары закрываются двумя зонами. Три нужны там, где есть кворум, консенсус или выборы лидера, либо где тройная репликация требуется для заявленной durability. Отдельно подчёркнуто: три реплики не равны трём доменам отказа. Разложите кворумную систему по двум зонам, и потеря зоны с большинством убьёт кворум.
И различие, которое часто смазывают: zone-redundant ресурсы Azure раскладывает сам и сам отвечает за отказоустойчивость, а zonal вы прибиваете к конкретной зоне, и маршрутизация, репликация, детект отказа и восстановление остаются на вас. Если недоступны сразу две зоны в регионе, это уже не задача ворклоада, а disaster recovery.
А у вас сколько зон под прод и почему именно столько?
👉🏻 Канал | 💬 Чат | 📕 Каталог
Post #2064
271