# magic-api-plugin
**Repository Path**: sirius/magic-api-plugin
## Basic Information
- **Project Name**: magic-api-plugin
- **Description**: 整理一下,自己写的一些magic-api的插件
- **Primary Language**: Java
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 22
- **Forks**: 19
- **Created**: 2023-01-22
- **Last Updated**: 2026-04-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Magic API 插件集合
## 项目介绍
Magic API 插件集合是一系列为 Magic API 框架开发的功能扩展插件,旨在增强 Magic API 的能力,提供更多实用功能。这些插件涵盖了网关集成、监控、服务注册与发现、远程调用、认证授权和流量控制等多个方面。
## 插件列表
### 1. magic-api-plugin-higress-starter
**功能**:为 Magic API 提供 Higress 网关集成功能
- 路由同步:将 Magic API 中定义的路由自动同步到 Higress 网关
- 定时同步:支持定时自动同步路由配置
- 自动配置:通过配置文件灵活配置同步参数
### 2. magic-api-plugin-monitor-starter
**功能**:为 Magic API 提供 Prometheus 监控能力
- JVM 指标:内存使用、GC 次数、线程状态等
- HTTP 指标:API 调用次数、响应时间、错误率等
- 系统指标:CPU 使用率、磁盘使用等
### 3. magic-api-plugin-nacos-starter
**功能**:为 Magic API 提供 Nacos 集成功能
- 配置获取:从 Nacos 配置中心获取配置信息
- 服务注册:将 Magic API 服务注册到 Nacos 服务发现
- 集群同步:利用 Nacos 配置监听实现 Magic API 集群间的接口配置同步
### 4. magic-api-plugin-rpc-starter
**功能**:基于 Dubbo 的远程调用插件
- 服务注册与发现:将 Magic API 接口注册为 Dubbo 服务,支持服务发现
- 动态管理:支持运行时修改和热更新 RPC 服务
- 泛化调用:基于 Dubbo 泛化接口,无需生成客户端代码
- 可视化管理:提供直观的前端管理界面
- 依赖 Nacos 插件提供服务注册和发现功能
### 5. magic-api-plugin-satoken-starter
**功能**:Magic-API 的 SaToken 鉴权插件
- LOCAL 模式:使用 Sa-Token 进行本地鉴权
- OAUTH2CLIENT 模式:作为 OAuth2 客户端对接外部认证服务
- 权限校验:支持基于角色和权限的细粒度控制
- Bearer Token:支持从 Authorization 头获取 token
### 6. magic-api-plugin-sentinel-starter
**功能**:基于 Sentinel 的限流与熔断插件
- 流量控制:支持基于 QPS 和线程数的限流,多种流控模式
- 熔断降级:支持 RT、异常比例、异常数三种熔断策略
- 热点参数限流:对热点参数进行精确限流
- 系统保护:基于系统负载、CPU 使用率等指标的系统保护
- 授权规则:支持白名单和黑名单的授权控制
- 控制台集成:支持与 Sentinel 控制台集成,实现规则的动态配置
- 脚本函数:在 Magic API 脚本中使用 Sentinel 相关功能
## 版本要求
- Java 11+
- Spring Boot 3.1.12+
- Magic API 2.2.2+
## 安装方法
### Maven 依赖
```xml
org.ssssssss
magic-api-plugin-higress-starter
2.2.2
cn.amaake.magicplugin
magic-api-plugin-monitor-starter
1.0.0
org.ssssssss
magic-api-plugin-nacos-starter
2.2.2
org.ssssssss
magic-api-plugin-rpc-starter
2.2.2
org.ssssssss
magic-api-plugin-satoken-starter
2.2.2
org.ssssssss
magic-api-plugin-sentinel-starter
2.2.2
```
### Gradle 依赖
```gradle
// 选择需要的插件添加依赖
// Higress 插件
implementation 'org.ssssssss:magic-api-plugin-higress-starter:2.2.2'
// 监控插件
implementation 'cn.amaake.magicplugin:magic-api-plugin-monitor-starter:1.0.0'
// Nacos 插件
implementation 'org.ssssssss:magic-api-plugin-nacos-starter:2.2.2'
// RPC 插件
implementation 'org.ssssssss:magic-api-plugin-rpc-starter:2.2.2'
// SaToken 插件
implementation 'org.ssssssss:magic-api-plugin-satoken-starter:2.2.2'
// Sentinel 插件
implementation 'org.ssssssss:magic-api-plugin-sentinel-starter:2.2.2'
```
## 项目结构
```
magic-api-plugin/
├── magic-api-plugin-higress-starter/ # Higress 网关集成插件
├── magic-api-plugin-monitor-starter/ # 监控插件
├── magic-api-plugin-nacos-starter/ # Nacos 集成插件
├── magic-api-plugin-rpc-starter/ # RPC 远程调用插件
├── magic-api-plugin-satoken-starter/ # SaToken 鉴权插件
├── magic-api-plugin-sentinel-starter/ # Sentinel 限流熔断插件
├── .gitignore
├── LICENSE
├── README.en.md
└── README.md
```
## 版本历史
| 版本 | 日期 | 变更内容 |
|------|------|----------|
| 2.2.2 | 2026-04-09 | 项目整理,添加多个插件 |
| 2.2.2 | 2026-04-06 | 添加 Higress 插件 |
| 2.2.2 | 2026-03-27 | 优化 Nacos 插件 |
| 2.2.2 | 2026-03-20 | 添加 RPC 插件 |
| 2.2.2 | 2026-03-15 | 添加 SaToken 插件 |
| 2.2.2 | 2026-03-10 | 添加 Sentinel 插件 |
| 2.2.2 | 2026-03-05 | 添加监控插件 |
## 注意事项
1. **版本兼容性**:确保使用与 Magic API 版本兼容的插件版本
2. **依赖关系**:RPC 插件依赖 Nacos 插件提供服务注册和发现功能
3. **配置管理**:每个插件都有自己的配置项,请参考各插件的 README.md 文件
4. **性能考虑**:在生产环境中,请注意合理配置插件参数,避免影响系统性能
5. **安全性**:对于涉及认证和授权的插件,请确保正确配置安全参数