Избавляйтесь от многих режимов отказа путем тотального разделения Чем более полно вы разделите отдельные серверы, слои и приложения, тем меньше проблем с точками интеграции, каскадными отказами, медленными ответами и блокированными потоками вас ждет. Вы обнаружите, что разделенные приложения легче поддаются адаптации, так как все члены системы настраиваются независимо друг от друга.
От того, как вы определите границы системы и как разобьете ее на подсистемы, зависит структура рабочей группы, объем финансирования, структура сопровождения программного продукта и даже хронометраж работ. Распределение обязанностей внутри группы является первым наброском архитектуры
Предохранитель является основным паттерном, защищающим систему от всех типов проблем, связанных с точками интеграции. Как только в одной из таких точек возникает проблема, отменяйте все ее вызовы. Используйте предохранители вместе с таймаутами Паттерн предохранителя (Circuit Breaker) позволяет избежать обращений к точке интеграции, в которой произошел отказ. Паттерн таймаутов (Timeouts) указывает на наличие отказа в точке интеграции.
Безопасное программирование на основе паттернов предохранителя (Circuit Breaker), таймаутов (Timeouts), разделения связующего ПО (Decoupling Middleware) и квитирования (Handshaking) поможет вам избежать опасностей точек интеграции.