PHPackages                             onelap/laravel-resilience-middleware - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. onelap/laravel-resilience-middleware

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

onelap/laravel-resilience-middleware
====================================

Laravel弹性中间件包 - 提供限流、熔断器、服务降级等微服务保护功能

v1.0.707(7mo ago)0349↓45.8%MITPHPPHP ^7.2|^8.0

Since Oct 31Pushed 7mo agoCompare

[ Source](https://github.com/106014654/laravel-resilience-middleware)[ Packagist](https://packagist.org/packages/onelap/laravel-resilience-middleware)[ Docs](https://github.com/onelap/laravel-resilience-middleware)[ RSS](/packages/onelap-laravel-resilience-middleware/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (8)Versions (35)Used By (0)

Laravel Resilience Middleware
=============================

[](#laravel-resilience-middleware)

[![Latest Version on Packagist](https://camo.githubusercontent.com/ea835a58358f5ea571f68c93200768cc99c6926b29221489bed2a868c25fa524/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f6e656c61702f6c61726176656c2d726573696c69656e63652d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/onelap/laravel-resilience-middleware)[![Total Downloads](https://camo.githubusercontent.com/4c5e67d4976adef742792add9d106454267ec7f7cdcc57ef257ef8e8c3a972c0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f6e656c61702f6c61726176656c2d726573696c69656e63652d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/onelap/laravel-resilience-middleware)[![PHP Version](https://camo.githubusercontent.com/bb47b29c0103537d833ab7e3d10a65bce77d3742d89a945dcb6dac1284ef1ffe/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6f6e656c61702f6c61726176656c2d726573696c69656e63652d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/onelap/laravel-resilience-middleware)[![Laravel Version](https://camo.githubusercontent.com/138b44af31f8bd3af7e54da5747b8aa48136d217ebb3831eeb8dd3d8ff1a2e0b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d352e352532422d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](https://laravel.com)

一个为 Laravel 应用提供企业级韧性保护的中间件包，专为微服务架构和高并发场景设计。

✨ 特性亮点
------

[](#-特性亮点)

### 🚦 **智能限流系统**

[](#-智能限流系统)

- **多算法支持**：固定窗口、滑动窗口、令牌桶
- **独立资源监控**：CPU、内存、Redis、MySQL 单独触发
- **自适应调整**：根据资源使用率实时调整限流策略
- **分布式友好**：支持 Redis 集群和单机模式

### 🔄 **熔断器保护**

[](#-熔断器保护)

- **三状态管理**：关闭 → 开启 → 半开状态循环
- **智能故障检测**：响应时间和错误率双重监控
- **渐进式恢复**：避免服务雪崩效应
- **资源感知**：根据系统压力动态调整熔断参数

📦 安装
----

[](#-安装)

### 1. 通过 Composer 安装

[](#1-通过-composer-安装)

```
composer require onelap/laravel-resilience-middleware
```

### 2. 发布配置文件

[](#2-发布配置文件)

```
# 发布主配置文件
php artisan vendor:publish --provider="OneLap\LaravelResilienceMiddleware\ResilienceMiddlewareServiceProvider" --tag="resilience-config"

# 发布示例配置和路由（可选）
php artisan vendor:publish --provider="OneLap\LaravelResilienceMiddleware\ResilienceMiddlewareServiceProvider" --tag="resilience-examples"
```

### 3. 验证配置

[](#3-验证配置)

使用内置命令验证配置是否正确加载：

```
# 检查配置状态
php artisan resilience:config-status
```

此命令会显示：

- ✅ 配置文件发布状态
- ✅ 配置加载来源（用户配置 vs 默认配置）
- ✅ 环境变量设置情况
- ✅ 关键配置项验证
- 💡 配置优化建议

**重要说明**：为确保配置生效，请务必：

1. **发布配置文件**：`php artisan vendor:publish --tag=resilience-config`
2. **清理缓存**：`php artisan config:clear`
3. **验证配置**：`php artisan resilience:config-status`

> 💡 **配置加载机制**：
>
> - **已发布配置文件**：优先使用 `config/resilience.php` 用户配置，包默认配置作为fallback
> - **未发布配置文件**：使用包内默认配置
> - **配置覆盖顺序**：用户配置 &gt; 环境变量 &gt; 包默认配置
> - Laravel 的 `config()` 函数会自动读取主项目的配置文件

⚙️ 详细配置
-------

[](#️-详细配置)

### 配置文件结构

[](#配置文件结构)

配置文件 `config/resilience.php` 采用分层配置结构：

```
