Вы используете один кластер или геораспределенную систему?
Что проверяют
Понимаете ли вы, как устроена инфраструктура вашего проекта и почему она именно такая. Правильного варианта здесь нет, проверяют умение обосновать выбор. Следом почти всегда спрашивают: что будет, если упадёт дата-центр, и где у вас хранится состояние.
Как отвечать
Начните с фактов о своей системе, потом объясните причины. Полезно развести уровни:
- один кластер в одной зоне: дёшево и просто, но отказ дата-центра означает простой всего сервиса;
- один регион, несколько зон доступности: стандарт для большинства продуктов. Задержка между зонами порядка миллисекунды, синхронная репликация базы ещё терпима, а падение зоны переживается автоматически;
- несколько регионов: active-passive с асинхронной репликацией и переключением или active-active, где запись принимают несколько регионов. Задержка между регионами уже десятки миллисекунд, и синхронный кворум на каждую запись становится дорогим.
Дальше расскажите, где у вас состояние. Сервисы на Go обычно stateless, их легко раскатать куда угодно, сложность всегда в данных: репликация PostgreSQL, базы с консенсусом на Raft вроде CockroachDB или YugabyteDB, репликация Kafka между кластерами через MirrorMaker 2. Назовите RPO и RTO: сколько данных вы готовы потерять и за сколько поднимаетесь.
Со стороны кода распределённость требует дисциплины: context.Context с дедлайном на каждом сетевом вызове, повторы только для идемпотентных операций, ключ идемпотентности для записей, которые после переключения могут прийти дважды.
Если мультирегиона не было, так и скажите: опишите свою реальную схему и что бы вы изменили при росте нагрузки или требований к доступности.
Где спотыкаются
Отвечают «геораспределённая, потому что надёжнее», не называя цену: консистентность, стоимость межрегионального трафика, сложность переключения.
Путают зоны доступности с регионами и называют несколько зон одного облака геораспределённой системой.
Забывают про требования к хранению данных. Для персональных данных граждан РФ действует 152-ФЗ с требованием локализации, и это часто определяет схему раньше, чем техника.