题图: 北京海洋馆里的水母
在以前的文章里,曾经介绍过一种在嵌入式的 Tomcat 里部署其他应用的方式(如何给Spring Boot 的嵌入式 Tomcat 部署多个应用?)。通过这种方式,我们可以把 Psi-Probe 这一类管理、监控应用部署到 Spring Boot 应用的嵌入容器中,这样可以更清晰的了解容器的内部资源使用、应用的请求处理等情况。当然也可以将 Spring Boot 应用打包成 WAR 文件的形式,和传统应用一样,在一个容器内部署多类应用来进行监控。
也写过一篇通过 Actuator 来了解 应用内Bean 的引用关系、各类Mapping信息的文章(一览Spring Bean 定义和映射全貌的神器)。
但是,第一种形式在 Spring Boot 的 「Starter」大行其道的今天,使用方式上并不一致。
这次我们介绍一款工具,结合了上面两部分的内容,也不需要像自己添加嵌入容器的部署那样,单独进行开发,而是在 maven 里添加 对应的依赖,在 Spring Boot 应用的 application 配置文件中增加部分配置就可以实现。使用习惯上和 Spring Boot的一贯形式一样,开箱之后,稍加配置就可以使用。
这就是我们今天要介绍的主角:Spring Boot Admin, 官方文档里又简称为 SBA。
使用
上手也比较简单,在我们的 Spring Boot 应用中,增加 SBA 的依赖。
说明:这里有一点需要注意的是, SBA的版本一定要和 Spring Boot 的版本匹配。比如 Spring Boot 2.0.x 对应的 SBA 也是 2.0.x 如果是2.1.x,那大家也都用2.1.x。
由于 Spring Boot Admin 又分为 Server 和 Client 两个部分,所以配置这一部分我们分开来说。
Server 会做为响应 Client 信息注册以及最终各类应用信息服务信息查看的应用入口,和一个独立Web服务一样。配置的时候 增加依赖如下:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.1.3</version>
</dependency>
之后在 Spring Boot 的应用主类中增加注解@EnableAdminServer
&#