Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codecentric/chaos-monkey-spring-boot
Chaos Monkey for Spring Boot
https://github.com/codecentric/chaos-monkey-spring-boot
chaos chaos-engineering chaos-monkey chaos-testing chaostoolkit engineering java resilience resilience-testing spring spring-boot spring-cloud spring-cloud-netflix test-framework testing testing-tools
Last synced: 7 days ago
JSON representation
Chaos Monkey for Spring Boot
- Host: GitHub
- URL: https://github.com/codecentric/chaos-monkey-spring-boot
- Owner: codecentric
- License: apache-2.0
- Created: 2017-04-06T07:56:01.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T14:00:36.000Z (3 months ago)
- Last Synced: 2024-10-29T15:25:57.044Z (3 months ago)
- Topics: chaos, chaos-engineering, chaos-monkey, chaos-testing, chaostoolkit, engineering, java, resilience, resilience-testing, spring, spring-boot, spring-cloud, spring-cloud-netflix, test-framework, testing, testing-tools
- Language: Java
- Homepage: https://codecentric.github.io/chaos-monkey-spring-boot/
- Size: 5.77 MB
- Stars: 910
- Watchers: 40
- Forks: 170
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.adoc
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.adoc
Awesome Lists containing this project
- my-awesomeness - Chaos Monkey Spring Boot - Chaos Monkey for Spring Boot applications and will try to attack your running Spring Boot App. (Projects / Chaos)
README
[![Apache License 2](https://img.shields.io/github/license/codecentric/chaos-monkey-spring-boot)](https://www.apache.org/licenses/LICENSE-2.0.txt)
[![Build Status](https://github.com/codecentric/chaos-monkey-spring-boot/workflows/Chaos%20Monkey%20Build/badge.svg)](https://github.com/codecentric/chaos-monkey-spring-boot/actions?query=workflow%3A%22Chaos+Monkey+Build%22)
[![codecov](https://codecov.io/gh/codecentric/chaos-monkey-spring-boot/branch/main/graph/badge.svg)](https://codecov.io/gh/codecentric/chaos-monkey-spring-boot)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.codecentric/chaos-monkey-spring-boot/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.codecentric/chaos-monkey-spring-boot/)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.adoc)[![Open in Gitpod](https://img.shields.io/badge/Open%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/codecentric/chaos-monkey-spring-boot)
[![VS Code DevContainer](https://img.shields.io/static/v1?label=VS+Code&message=DevContainer&logo=visualstudiocode&color=007ACC&logoColor=007ACC&labelColor=2C2C32)](https://open.vscode.dev/microsoft/vscode)# Chaos Monkey for Spring Boot
### inspired by Chaos Engineering at Netflix
This project provides a Chaos Monkey for Spring Boot applications and will try to attack your running Spring Boot App.
>Everything from getting started to advanced usage is explained in the [Documentation for Chaos Monkey for Spring Boot](https://codecentric.github.io/chaos-monkey-spring-boot/latest/)
## Introduction
If you're not familiar with the principles of chaos engineering yet, check out this blog post and enter the world of chaos engineering.Get familiar with the Chaos Monkey for Spring Boot in the following video, available on YouTube:
## What is the goal of Chaos Monkey?
Inspired by [PRINCIPLES OF CHAOS ENGINEERING](https://principlesofchaos.org/), with a focus on [Spring Boot](https://projects.spring.io/spring-boot/), Chaos Monkey wants to test applications better and especially during operation.
After writing many unit and integration tests, a code coverage from 70% to 80%, this unpleasant feeling remains, how our baby behaves in production?
Many questions remain unanswered:
- Will our fallbacks work?
- How does the application behave with network latency?
- What if one of our services breaks down?
- Service Discovery works, but is our Client-Side-Load-Balancing also working?As you can see, there are many more questions and open topics you have to deal with.
That was the start of Chaos Monkey for Spring Boot.
### How does it work?
If Spring Boot Chaos Monkey is on your classpath and activated with profile name `chaos-monkey`, it will automatically hook into your application.Now you can activate [watchers](https://codecentric.github.io/chaos-monkey-spring-boot/latest/#watchers), which look for classes to [assault](https://codecentric.github.io/chaos-monkey-spring-boot/latest/#assaults). There are also [runtime assaults](https://codecentric.github.io/chaos-monkey-spring-boot/latest/#runtime-assaults), which attack your whole application.
## Be social and communicative!
If you start to implement Chaos Engineering at your company, then you must be a very social and communicative person. Why? Because you will get to know many of your colleagues personally in a very short time when your chaos experiments strike.### Check your resilience
Are your services already resilient and can handle failures? Don´t start a chaos experiment if not!### Implement active application monitoring
Check your monitoring and check if you can see the overall state of your system. There are many great tools out there to get a pleasant feeling about your entire system.### Define steady states
Define a metric to check a steady state of your service and of course your entire system. Start small with a service that is not critical.### Do not start in production
Of course, you can start in production, but keep in mind...> The best place on earth is...production!
> *Josh Long*...so let's keep production as the best place on earth and look for our first experiences on another stage. If all goes well, and you're confident, run it in production.
## Documentation
[Documentation](https://codecentric.github.io/chaos-monkey-spring-boot/latest/)## Help
We are using GitHub issues to track bugs, improvements and new features (for more information see [Contributions](#contributions)). If you have a general question on how to use Chaos Monkey for Spring Boot, please ask on Stack Overflow using the tag [`#spring-boot-chaos-monkey`](https://stackoverflow.com/questions/tagged/spring-boot-chaos-monkey).
## Contributions
Chaos Monkey is open source and welcomes contributions from everyone. The [contribution guideline](https://github.com/codecentric/chaos-monkey-spring-boot/blob/main/CONTRIBUTING.adoc) is where you should begin in order to best understand how to contribute to this project.## Releases
[Releases](https://github.com/codecentric/chaos-monkey-spring-boot/releases)