一款Spring Boot无侵入式应用管理与增强的框架, 不需要对原有应用代码做任何改造,开箱即用。
- 对原有代码无任何侵入,亦不需要额外添加依赖
- 控制台提供RESTful OpenAPI,可自行定制UI
- 对应用提供基于分组、集群、实例等多管理维度的流量控制,可实现分组限流、集群限流、实例限流
- 对应用实例提供并发控制管理
- 对应用内部路由进行管理控制(应用需要基于Spring Cloud)
- 对应用环境变量修改并实时生效
- 在线实时查看应用日志
- 可对实例SQL进行记录监控
注: 该项目仅供学习使用,不可用于生产,且功能较为简单,等待后续扩展
1. Java Agent
2. Alibaba Nacos Config
3. Netflix Ribbon
4. OpenFeign
5. WebSocket
6. Spring Data JPA
mvn package
运行命令后将会在console-dist/target下生成一个app-console-bin.tar.gz的文件, 压缩包结构如下
|____server
| |____app-console-server.jar 管控端程序入口
| |____application.yml 管控端配置文件
|____agent
| |____config
| | |____config.properties agent配置文件
| |____extensions agent扩展包
| | |____**more**.jar
| |____console-agent.jar agent
- 使用 mvn package 命令构建
- 进入 console-dist/target 目录
- 解压 app-console-bin.tar.gz
- 使用命令启动 java -jar server/app-console-server.jar
- 在自己的Spring Boot应用中添加一句启动参数 -javaagent:/agent/console-agent.jar 即可,例如
java -javaagent:/agent/console-agent.jar -jar myapp.jar- 浏览器打开 localhost:28080 即可进入应用控制台,当能在该页面上看到自己的应用时则视为成功
#Agent连接的控制台后端地址
serverAddress=http://127.0.0.1:28080
注意,使用IDEA调试时需要使用该命令行(none),如图所示
当不对接Nacos Config Center时,会自带有一个极其轻量配置中心,亦可动态刷新@Value的配置。
下图表示配置AppConsoleDemo应用中,key为env的配置项.
注: 对接第三方配置中心时并不会回显第三方配置中心的配置,但修改时会同步发布配置到对应的第三方配置中心
- 仅支持基于SpringBoot 2.0.0.RELEASE及以上版本开发Servlet Web应用, 暂不支持Reactive应用
- 在Spring环境下, 标识有@Extension接口的实现将被Spring容器接管,将享有Spring的特性。
- 不适用于传统基于Tomcat直接部署war包类型的项目