Обновить

Лучшие практики создания отказоустойчивых систем

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели9.5K
Всего голосов 19: ↑19 и ↓0+19
Комментарии4

Комментарии 4

Хорошая подборка. Единственно, у меня вызывает сомнения, что сервис, который при невозможности выполнить операцию ввиду недоступности "подрядчика", возвращает что попало (нулевой остаток) - это "отказоустойчивость". Эти "чтопопало" потом уйдут в базу, пойдут гулять по бизнес-процессам, и потом сам черт ногу сломит их выкорчевывать и объяснять клиентам, почему такие странные данные в базе. Имхо, если операция не может правильно выполниться, дальше продолжать бизнес-процесс нельзя с некондиционными данными. Исключение - отображение на экране каких-то данных или наличие функционала. Не работает микросервис добавления комментариев и прочей некритической информации и функционала - панель добавления комментариев не должна отображаться.

На самом деле почти все рекомендации также применимы к монолиту. Тем более что монолит можно положить в кластер под балансировщик с несколькими репликами, тогда и вовсе все это к нему будет также относиться. Ну и вопрос выбора монолит/микросервис это уже другая тема, если команда небольшая и серьезного роста в ближайшее время не предвидится, то на микросервисах вы можете сами себя загнать в долгую рутину. А правильно построенный монолит на DDD можно в любой момент начать разделять по микросервисам, если команда выросла и хочется независимости

Кстати,часто тяжелые cpu-bound сервисы делают монолитами. Так как один такой монолит обслуживать проще чем нетворк микросервисов)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации