chaos-php / chaos-monkey
Chaos Monkey 是一个弹性工具,帮助 PHP 应用程序容忍随机故障
1.1.1
2024-06-01 19:14 UTC
Requires
- php: ^8.1
- akondas/php-runtime: ^1.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.27
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^9.5
- symfony/browser-kit: ^5.2
- symfony/framework-bundle: ^5.2
- symfony/stopwatch: ^5.2
This package is auto-updated.
Last update: 2024-08-31 19:43:45 UTC
README
为 PHP 应用程序设计的 Chaos Monkey。尝试攻击您的运行中的 PHP 应用程序。
攻击
- 延迟攻击 - 从(最小值和最大值)范围内随机添加延迟
- 异常攻击 - 抛出指定的异常类
- 内存攻击 - 填充内存直到目标分数(例如 95%)
- 杀死攻击 - 不留余地,直接使用
exit()
如何使用
您可以通过使用现成的集成来获得最佳体验
- Symfony: ChaosMonkeySymfonyBundle
- Laravel: ChaosMonkeyLaravelPackage(进行中)
如果您的框架缺失,请提交问题或手动使用此包
- 使用 composer 安装
composer require chaos-php/chaos-monkey
- 创建
ChaosMonkey
对象$settings = new Settings(); $chaosMonkey = new ChaosMonkey([ new LatencyAssault($settings), new MemoryAssault($settings), new ExceptionAssault($settings), new KillAppAssault($settings) ], $settings);
- 配置设置并在应用程序的工作区域中触发 Chaos Monkey
$settings->setExceptionActive(true); $settings->setExceptionClass(\RuntimeException::class); $settings->setProbability(100); $settings->setEnabled(true); $chaosMonkey->call();
- 观察您的应用程序陷入混乱 🙈🙊🙉 😈
许可证
ChaosMonkey 在 MIT 许可证下发布。有关详细信息,请参阅附带 LICENSE 文件。