Pull to refresh

Comments 4

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

Посмотрел на первую картинку...

Да ну нафиг эти distributed systems

Буду делать монолит

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

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

Sign up to leave a comment.

Articles