Инструменты разработки хаоса активируют такие функции, как остановка виртуальных машин или завершение работы модулей в кластере Kubernetes. В исследовании Cloud Bug говорится, что пренебрежение обработкой ошибок – ошибочный код, тайм-ауты и т.д. – Является причиной подавляющего большинства системных сбоев.
Промежуточное программное обеспечение Chaos позволяет вводить турбулентные условия в ваше приложение. Это позволяет вам задерживать или вызывать ошибки при обработке запросов, а применяя дополнительные условия, вы можете уменьшить радиус поражения вашей атаки.
В следующих разделах вы ознакомитесь с: i) процессом установки и настройки промежуточного программного обеспечения Chaos в вашем приложении Spring Boot и ii) моделированием задержек и сбоев приложения.
Установка и настройка
1. Установите промежуточное программное обеспечение Chaos, включив следующую зависимость в ваше приложение spring boot pom.xml .
io.proofdock spring-boot-starter-chaos-middleware 0.1.4
2. Добавьте имя приложения в application.properties .
chaos.middleware.application-name=webshop-order
3. Запустите свое приложение.
Имитировать задержки
Атака задержка приводит к задержкам в цикле запроса/ответа. Этот тип атаки позволяет вам проверить поведение вашей системы в случае тайм-аутов или медленных ответов.
Запускайте задержки, устанавливая заголовок запроса x-proofdock-attack . Промежуточное программное обеспечение Chaos обнаруживает любое значение внутри этого заголовка и создает соответствующие условия турбулентности.
Чтобы имитировать задержку, установите значение заголовка x-proofdock-attack равным
{"actions":[{"name":"delay", "value":"5"}], "target":{ "application":"webshop-order"}}
- имя – установить задержку атаки
- значение – задержка ответа на 5 секунд
- цель – имя целевого приложения
Давайте атакуем приложение с помощью Postman.
Имитировать неисправности
Атака ошибка вводит исключение в ваш код. Этот тип атаки позволяет вам проверить поведение вашего приложения в случае непредвиденного события.
Запускайте ошибки, устанавливая заголовок запроса x-proofdock-attack .
{"actions":[{"name":"fault", "value":"java.lang.Exception"}], "target":{ "application":"webshop-order"}}
- имя – установить атаку с ошибкой
- значение – создает исключение типа
java.lang. Исключение - цель – имя целевого приложения
Давайте атакуем приложение с помощью Postman.
Панель хаоса для пользователей Azure DevOps
Более удобным способом контроля таких атак является использование панели Chaos , предоставляемой платформой Chaos от Proofdock. Платформа Chaos расширяет возможности Azure DevOps за счет возможностей разработки хаоса. Панель “Хаос” позволяет управлять атаками приложений с помощью графического пользовательского интерфейса.
Панель хаоса в Azure DevOps
Ознакомьтесь с документами , если вас интересует платформа Chaos.
Спасибо
Мы надеемся, что вам понравилось читать эту статью и вы получили новый взгляд на устойчивость.
Мы Proof dock , компания по разработке программного обеспечения, расположенная в Германии, созданная для того, чтобы помочь инженерам создавать более устойчивые и надежные программные продукты. Ознакомьтесь с платформой Chaos для Microsoft Azure и исследуйте свою систему.
Фото статьи от Рэйчел Саннер на Расплескать
Оригинал: “https://dev.to/proofdock/chaos-middleware-where-spring-boot-meets-chaos-engineering-2874”