服务健康与检测
1.actuator健康检查
Springboot提供了一个actuator组件,可以对应用的服务进行监控、审计、管理功能。
- 在pom.xml引入spring-boot-starter-actuator组件
org.springframework.boot
spring-boot-starter-actuator
- 在application.properties配置参数(在boot2.x默认关闭了很多请求,只暴露出/actuator/health和/info)
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
- 启用boot程序输出下面URL
/actuator/health
/actuator/info
/actuator/beans
/actuator/mappings
/actuator/env
/actuator/health
2.SpringBoot Admin监控UI系统
Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。在 Spring Boot 项目中,Spring Boot Admin 作为 Server 端,其他的要被监控的应用作为 Client 端。
参考:https://blog.csdn.net/hubo_88/article/details/80671192
3.SpringCloud Hystrix Dashboard系统
提供对使用Hystrix断路器服务进行监控的一套监控面板(仪表盘),分别为单体监控、集群监控、与消息代理结合。
参考:https://www.cnblogs.com/hellxz/p/9100224.html
SpringCloud Config配置中心
SpringCloud Config可以将分布式部署的应用的配置文件进行集中化管理。将配置文件利用Git或SVN集中存放,修改更新后可以同步到分布式各个应用中。
Config Server端
作用:读取Git或SVN配置文件,形成服务API。 /ydma/course或/ydma-course.properties。
1.在SVN中定义properties配置文件
提示:对应svn配置文件放在ydma-configs/config路径下面。
/ydma-configs/config/ydma.properties
/ydma-configs/config/ydma-course.properties
/ydma-configs/config/ydma-direction.properties
2.创建config-server端项目,在pom.xml引入spring-cloud-config-server、spring-cloud-starter-config、svnkit
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
org.springframework.cloud
spring-cloud-dependencies
Finchley.RELEASE
pom
import
org.springframework.cloud
spring-cloud-starter-config
org.springframework.cloud
spring-cloud-config-server
org.tmatesoft.svnkit
svnkit
3.在application.properties文件中定义svn参数
server.port = 9988
spring.application.name=ydma-config
############SVN####################
spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=https://192.168.30.177/svn/java30/ydma-configs/
spring.cloud.config.server.default-label=config
spring.cloud.config.server.svn.username=java
spring.cloud.config.server.svn.password=123
提示:对应svn配置文件放在ydma-configs/config路径下面。
/ydma-configs/config/ydma.properties
/ydma-configs/config/ydma-course.properties
/ydma-configs/config/ydma-direction.properties
4.定义启动类,开启ConfigServer注解
@SpringBootApplication
@EnableConfigServer
public class RunConfigBoot {
public static void main(String[] args) {
SpringApplication.run(RunConfigBoot.class, args);
}
}
5.启动程序,访问测试
http://localhost:9988/ydma/course http://localhost:9988/ydma-course.properties
Config Client
1.在pom.xml中定义spring-cloud-config-client、spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-config-client
org.springframework.boot
spring-boot-starter-actuator
2.在resources添加bootstrap.properties配置文件(去掉application.properties)
spring.cloud.config.name=ydma
spring.cloud.config.profile=course
spring.cloud.config.label=config
spring.cloud.config.uri=http://localhost:9988
management.endpoints.web.exposure.include=refresh,health,info
3.启动程序,client会自动加载Server端配置信息
Server端配置修改,刷新Client应用
使用actuator健康检查的/actuator/refresh服务(POST)即可。
1.使用curl工具
提示:下载curl工具包,配置系统PATH环境变量为I386目录。
curl -X POST http://localhost:7004/actuator/refresh(命令行内操作)
2.使用HttpClient工具编码(导入httpclient包)
CloseableHttpClient client = null;
client = HttpClients.createDefault();
HttpPost post = new HttpPost("http://localhost:7001/actuator/refresh");
CloseableHttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println(statusCode);
SpringBoot项目的发布
1.在pom.xml定义boot打包插件
org.apache.maven.plugins
maven-surefire-plugin
true
org.springframework.boot
spring-boot-maven-plugin
2.检查Eclipse等工具的JDK,目录指向到jdk目录,别指向jre目录
3.右键点击ydma聚合工程,选择run as-->maven build