Изящная деградация в приложении, которое использует архитектуру Microservices - PullRequest
1 голос
/ 06 января 2020

Я знаю, что это относительно новый предмет, касающийся Chaos Engineering , и кое-что говорит о том, как работает эта стратегия, но я не нашел ресурсов, подходящих к тому, как применять ее в реальных задачах. ,

  1. Является ли такая стратегия требованием для любого приложения, использующего архитектуру Microservices?
  2. Уже есть какие-нибудь библиотеки / фреймворки, которые облегчают его реализацию?
  3. Отличается ли мониторинг этого приложения от того, который не использует эту стратегию?

1 Ответ

1 голос
/ 19 апреля 2020

Является ли такая стратегия требованием для любого приложения, использующего архитектуру Microservices?

Я бы не сказал, что это требование. В конце концов, вы можете столкнуться с различными и другими проблемами, прежде чем попасть в Chaos Engineering, или полностью избегать CE, если у вас есть другие механизмы для решения проблем, которые пытается найти CE.

Уже есть какие-нибудь библиотеки / фреймворки, которые упрощают его реализацию?

В зависимости от используемого вами стека есть: Chaos Monkey для Spring Boot, gremlin, хаосма sh и т. д. (см .: https://github.com/dastergon/awesome-chaos-engineering), более простые инструменты включают tc или stress

Отличается ли мониторинг этого приложения от которая не использует эту стратегию?

По моему опыту, это не так уж и отличается, однако в последние годы область мониторинга довольно сильно изменилась. Я бы порекомендовал любую систему, которая обеспечивает вам хорошую наблюдаемость в (почти) реальном времени. Все, что помогает улучшить мониторинг производительности приложений, очень помогает при разработке Chaos Engineering.

Применение его к примерам из реального мира становится проще, как только вы начинаете. Хороший эксперимент для начинающих (по моему опыту) - перезапуск базы данных или обновление. Все, что вы делаете с CE, должно быть под нагрузкой. Без каких-либо запросов в вашей среде (часто в промежуточных) вы не увидите, что на самом деле произойдет на производстве. Кроме того, начните как можно меньше, а затем приступайте к более серьезным проблемам, как только вы приобретете больше опыта и доверия к своим системам.

...