# 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. **安全性**:对于涉及认证和授权的插件,请确保正确配置安全参数